Fix large copies with url_view and segments_view
Despite these objects being called "view" they are still relatively
large, as clang-tidy correctly flags, and we ignore.
Change all function uses to capture by:
const boost::urls::url_view_base&
Which is the base class of all boost URL types, and any class (url,
url_view, etc) is convertible to that base.
Change-Id: I8ee2ea3f4cfba38331303a7e4eb520a2b6f8ba92
Signed-off-by: Ed Tanous <ed@tanous.net>
diff --git a/http/http_client.hpp b/http/http_client.hpp
index 5980478..75304f6 100644
--- a/http/http_client.hpp
+++ b/http/http_client.hpp
@@ -41,7 +41,7 @@
#include <boost/system/error_code.hpp>
#include <boost/url/format.hpp>
#include <boost/url/url.hpp>
-#include <boost/url/url_view.hpp>
+#include <boost/url/url_view_base.hpp>
#include <cstdlib>
#include <functional>
@@ -637,7 +637,7 @@
explicit ConnectionInfo(
boost::asio::io_context& iocIn, const std::string& idIn,
const std::shared_ptr<ConnectionPolicy>& connPolicyIn,
- boost::urls::url_view hostIn, unsigned int connIdIn) :
+ const boost::urls::url_view_base& hostIn, unsigned int connIdIn) :
subId(idIn),
connPolicy(connPolicyIn), host(hostIn), connId(connIdIn), ioc(iocIn),
resolver(iocIn), conn(iocIn), timer(iocIn)
@@ -728,7 +728,7 @@
}
}
- void sendData(std::string&& data, boost::urls::url_view destUri,
+ void sendData(std::string&& data, const boost::urls::url_view_base& destUri,
const boost::beast::http::fields& httpHeader,
const boost::beast::http::verb verb,
const std::function<void(Response&)>& resHandler)
@@ -836,7 +836,7 @@
explicit ConnectionPool(
boost::asio::io_context& iocIn, const std::string& idIn,
const std::shared_ptr<ConnectionPolicy>& connPolicyIn,
- boost::urls::url_view destIPIn) :
+ const boost::urls::url_view_base& destIPIn) :
ioc(iocIn),
id(idIn), connPolicy(connPolicyIn), destIP(destIPIn)
{
@@ -879,7 +879,7 @@
// Send a request to destIP where additional processing of the
// result is not required
- void sendData(std::string&& data, boost::urls::url_view destUri,
+ void sendData(std::string&& data, const boost::urls::url_view_base& destUri,
const boost::beast::http::fields& httpHeader,
const boost::beast::http::verb verb)
{
@@ -889,7 +889,8 @@
// Send request to destIP and use the provided callback to
// handle the response
- void sendDataWithCallback(std::string&& data, boost::urls::url_view destUrl,
+ void sendDataWithCallback(std::string&& data,
+ const boost::urls::url_view_base& destUrl,
const boost::beast::http::fields& httpHeader,
const boost::beast::http::verb verb,
const std::function<void(Response&)>& resHandler)