Remove getIoContext from Request object
At one point it was thought that we could pass the io_context object
through the request object, and have the potential to run multiple
io_context instances (one per connection).
Given the safety refactoring we had to do in
9838eb20341568971b9543c2187372d20daf64aa that idea is on ice for the
moment, and would need a major rethink of code to be viable. For the
moment, and in prep for
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/75668
make sure all calls are pulling from the same io object.
Tested: Unit tests pass. Redfish service validator passes.
Change-Id: I877752005c4ce94efbc13ce815f3cd0d99cc3d51
Signed-off-by: Ed Tanous <etanous@nvidia.com>
diff --git a/include/image_upload.hpp b/include/image_upload.hpp
index 914b3e8..f6a0dfc 100644
--- a/include/image_upload.hpp
+++ b/include/image_upload.hpp
@@ -7,6 +7,7 @@
#include "dbus_singleton.hpp"
#include "dbus_utility.hpp"
#include "http_request.hpp"
+#include "io_context_singleton.hpp"
#include "logging.hpp"
#include "ossl_random.hpp"
@@ -46,14 +47,8 @@
asyncResp->res.result(boost::beast::http::status::service_unavailable);
return;
}
- if (req.ioService == nullptr)
- {
- asyncResp->res.result(
- boost::beast::http::status::internal_server_error);
- return;
- }
// Make this const static so it survives outside this method
- static boost::asio::steady_timer timeout(*req.ioService,
+ static boost::asio::steady_timer timeout(getIoContext(),
std::chrono::seconds(5));
timeout.expires_after(std::chrono::seconds(15));