| // SPDX-License-Identifier: Apache-2.0 |
| // SPDX-FileCopyrightText: Copyright OpenBMC Authors |
| |
| #include "websocketrule.hpp" |
| |
| #include "async_resp.hpp" |
| #include "http_request.hpp" |
| #include "logging.hpp" |
| #include "websocket_impl.hpp" |
| |
| #include <boost/asio/ip/tcp.hpp> |
| #include <boost/asio/ssl/stream.hpp> |
| |
| #include <memory> |
| #include <utility> |
| |
| namespace crow |
| { |
| void WebSocketRule::handleUpgrade( |
| const Request& req, const std::shared_ptr<bmcweb::AsyncResp>& /*asyncResp*/, |
| boost::asio::ip::tcp::socket&& adaptor) |
| { |
| BMCWEB_LOG_DEBUG("Websocket handles upgrade"); |
| std::shared_ptr< |
| crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>> |
| myConnection = std::make_shared< |
| crow::websocket::ConnectionImpl<boost::asio::ip::tcp::socket>>( |
| req.url(), req.session, std::move(adaptor), openHandler, |
| messageHandler, messageExHandler, closeHandler, errorHandler); |
| myConnection->start(req); |
| } |
| |
| void WebSocketRule::handleUpgrade( |
| const Request& req, const std::shared_ptr<bmcweb::AsyncResp>& /*asyncResp*/, |
| boost::asio::ssl::stream<boost::asio::ip::tcp::socket>&& adaptor) |
| { |
| BMCWEB_LOG_DEBUG("Websocket handles upgrade"); |
| std::shared_ptr<crow::websocket::ConnectionImpl< |
| boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>> |
| myConnection = std::make_shared<crow::websocket::ConnectionImpl< |
| boost::asio::ssl::stream<boost::asio::ip::tcp::socket>>>( |
| req.url(), req.session, std::move(adaptor), openHandler, |
| messageHandler, messageExHandler, closeHandler, errorHandler); |
| myConnection->start(req); |
| } |
| } // namespace crow |