blob: 898a1d091c35f86e5a36cd900944ea78245421fd [file] [log] [blame]
Ed Tanousbeb96b02025-02-09 09:22:46 -08001// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright OpenBMC Authors
3
4#include "websocketrule.hpp"
5
6#include "async_resp.hpp"
7#include "http_request.hpp"
8#include "logging.hpp"
9#include "websocket_impl.hpp"
10
11#include <boost/asio/ip/tcp.hpp>
12#include <boost/asio/ssl/stream.hpp>
13
14#include <memory>
15#include <utility>
16
17namespace crow
18{
19void WebSocketRule::handleUpgrade(
20 const Request& req, const std::shared_ptr<bmcweb::AsyncResp>& /*asyncResp*/,
21 boost::asio::ip::tcp::socket&& adaptor)
22{
23 BMCWEB_LOG_DEBUG("Websocket handles upgrade");
24 std::shared_ptr<
25 crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>>
26 myConnection = std::make_shared<
27 crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>>(
28 req.url(), req.session, std::move(adaptor), openHandler,
29 messageHandler, messageExHandler, closeHandler, errorHandler);
30 myConnection->start(req);
31}
32
33void WebSocketRule::handleUpgrade(
34 const Request& req, const std::shared_ptr<bmcweb::AsyncResp>& /*asyncResp*/,
35 boost::asio::ssl::stream<boost::asio::ip::tcp::socket>&& adaptor)
36{
37 BMCWEB_LOG_DEBUG("Websocket handles upgrade");
38 std::shared_ptr<crow::websocket::ConnectionImpl<
39 boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>>
40 myConnection = std::make_shared<crow::websocket::ConnectionImpl<
41 boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>>(
42 req.url(), req.session, std::move(adaptor), openHandler,
43 messageHandler, messageExHandler, closeHandler, errorHandler);
44 myConnection->start(req);
45}
46} // namespace crow