Partial revert of http_client
4d69861f shows that after being applied, connections are no longer
reused. It's unclear why, but very likely due to a use after move of
the request object we've seen before. This doesn't cause functional
issues, only performance ones.
Considering that this was only a minor size reduction in the first
place, Revert the http_client part of the patch for now.
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/69234
Tested:
Aggregation through /redfish/v1/Chassis works as expected.
Change-Id: I9b56e2c90b108e41df3ba006105106adf8ced154
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/http/http_client.hpp b/http/http_client.hpp
index 28aeb1c..08ff2b6 100644
--- a/http/http_client.hpp
+++ b/http/http_client.hpp
@@ -274,19 +274,18 @@
// Set a timeout on the operation
timer.expires_after(std::chrono::seconds(30));
timer.async_wait(std::bind_front(onTimeout, weak_from_this()));
- boost::beast::http::message_generator messageGenerator(std::move(req));
// Send the HTTP request to the remote host
if (sslConn)
{
- boost::beast::async_write(
- *sslConn, std::move(messageGenerator),
+ boost::beast::http::async_write(
+ *sslConn, req,
std::bind_front(&ConnectionInfo::afterWrite, this,
shared_from_this()));
}
else
{
- boost::beast::async_write(
- conn, std::move(messageGenerator),
+ boost::beast::http::async_write(
+ conn, req,
std::bind_front(&ConnectionInfo::afterWrite, this,
shared_from_this()));
}