Change the completionhandler to accept Res
These modifications are from WIP:Redfish:Query parameters:Only
(https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/47474). And they
will be used in Redfish:Query Parameters:Only.
(https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/38952)
The code changed the completion handle to accept Res to be able to
recall handle with a new Response object.
AsyncResp owns a new res, so there is no need to pass in a res.
Tested:
1.Basic and Token auth both still work.
2.Use scripts/websocket_test.py to test websockets. It is still work
correctly.
python3 websocket_test.py --host 127.0.0.1:2443
This modification is a public part, so you can use any URL to test
this function. The response is the same as before.
Signed-off-by: zhanghaicheng <zhanghch05@inspur.com>
Change-Id: I570e32fb47a9a90fe111fcd1f4054060cd21def3
diff --git a/http/websocket.hpp b/http/websocket.hpp
index 30a9b9f..324ffd5 100644
--- a/http/websocket.hpp
+++ b/http/websocket.hpp
@@ -193,10 +193,10 @@
{
BMCWEB_LOG_DEBUG << "Websocket accepted connection";
- auto asyncResp = std::make_shared<bmcweb::AsyncResp>(
- res, [this, self(shared_from_this())]() { doRead(); });
+ auto asyncResp = std::make_shared<bmcweb::AsyncResp>();
asyncResp->res.result(boost::beast::http::status::ok);
+ doRead();
if (openHandler)
{