summaryrefslogtreecommitdiff
path: root/http/routing.h
diff options
context:
space:
mode:
Diffstat (limited to 'http/routing.h')
-rw-r--r--http/routing.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/http/routing.h b/http/routing.h
index b2355e9540..758f8dd4d7 100644
--- a/http/routing.h
+++ b/http/routing.h
@@ -328,9 +328,13 @@ class WebSocketRule : public BaseRule
void handleUpgrade(const Request& req, Response&,
boost::asio::ip::tcp::socket&& adaptor) override
{
- new crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>(
- req, std::move(adaptor), openHandler, messageHandler, closeHandler,
- errorHandler);
+ std::shared_ptr<
+ crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>>
+ myConnection = std::make_shared<
+ crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>>(
+ req, std::move(adaptor), openHandler, messageHandler,
+ closeHandler, errorHandler);
+ myConnection->start();
}
#ifdef BMCWEB_ENABLE_SSL
void handleUpgrade(const Request& req, Response&,