6#include <userver/components/component_config.hpp>
7#include <userver/components/component_context.hpp>
8#include <userver/server/handlers/http_handler_base.hpp>
9#include <userver/server/websocket/server.hpp>
11USERVER_NAMESPACE_BEGIN
13namespace server::websocket {
39 WebsocketHandlerBase(
const components::ComponentConfig&,
const components::ComponentContext&);
47 HandleHandshake(
const server::http::HttpRequest&, server::http::HttpResponse&, server::request::RequestContext&)
53 void WriteMetrics(utils::statistics::Writer& writer)
const;
55 static yaml_config::Schema GetStaticConfigSchema();
61 [[
maybe_unused]]
const server::http::HttpRequest& request,
62 [[
maybe_unused]] server::request::RequestContext& context
64 LOG_WARNING() <<
"Not a GET 'Upgrade: websocket' and 'Connection: Upgrade' request";
65 throw server::handlers::ClientError();
69 std::string HandleRequestThrow(
const server::http::HttpRequest& request, server::request::RequestContext& context)
72 websocket::Config config_;
73 mutable Statistics stats_;
74 utils::statistics::Entry statistics_holder_;