From 1191f07767583a9b19280a4f29cb1b0bd6799785 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Mon, 9 Jan 2023 21:17:26 +0100 Subject: Websocket proxy --- https.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'https.cpp') diff --git a/https.cpp b/https.cpp index 3a68b00..ce3a6fd 100644 --- a/https.cpp +++ b/https.cpp @@ -51,6 +51,7 @@ namespace { // Handles an HTTP server connection class session : public std::enable_shared_from_this { + boost::asio::io_context& ioc_; beast::ssl_stream stream_; beast::flat_buffer buffer_; Server& m_server; @@ -78,11 +79,13 @@ public: // Take ownership of the socket explicit session( + boost::asio::io_context& ioc, tcp::socket&& socket, ssl::context& ctx, - Server& server) - : stream_(std::move(socket), ctx) - , m_server(server) + Server& server): + ioc_(ioc), + stream_(std::move(socket), ctx), + m_server(server) { } @@ -169,7 +172,7 @@ public: if (websocket::is_upgrade(req_)) { beast::get_lowest_layer(stream_).expires_never(); - std::make_shared(std::move(stream_))->do_accept(parser_->release()); + std::make_shared(ioc_, std::move(stream_))->do_accept_in(parser_->release()); return; } @@ -313,6 +316,7 @@ private: { // Create the session and run it std::make_shared( + ioc_, std::move(socket), ctx_, m_server)->run(); -- cgit v1.2.3