Base class for WebSocket handler.
More...
#include <userver/server/websocket/websocket_handler.hpp>
|
| WebsocketHandlerBase (const components::ComponentConfig &, const components::ComponentContext &) |
|
virtual void | Handle (WebSocketConnection &websocket, server::request::RequestContext &) const =0 |
| Websocket handler code belongs here.
|
|
virtual bool | HandleHandshake (const server::http::HttpRequest &, server::http::HttpResponse &, server::request::RequestContext &) const |
| If any code is required for handshake validation, it goes here.
|
|
Public Member Functions inherited from server::handlers::HttpHandlerBase |
| HttpHandlerBase (const components::ComponentConfig &config, const components::ComponentContext &component_context, bool is_monitor=false) |
|
void | HandleRequest (request::RequestBase &request, request::RequestContext &context) const override |
|
void | ReportMalformedRequest (request::RequestBase &request) const final |
|
virtual const std::string & | HandlerName () const |
|
const std::vector< http::HttpMethod > & | GetAllowedMethods () const |
|
virtual logging::Level | GetLogLevelForResponseStatus (http::HttpStatus status) const |
|
virtual FormattedErrorData | GetFormattedExternalErrorBody (const CustomHandlerException &exc) const |
|
std::string | GetResponseDataForLoggingChecked (const http::HttpRequest &request, request::RequestContext &context, const std::string &response_data) const |
|
Public Member Functions inherited from server::handlers::HandlerBase |
| HandlerBase (const components::ComponentConfig &config, const components::ComponentContext &component_context, bool is_monitor=false) |
|
bool | IsMonitor () const |
| Returns whether this is a monitoring handler.
|
|
const HandlerConfig & | GetConfig () const |
| Returns handler config.
|
|
| LoggableComponentBase (const ComponentConfig &, const ComponentContext &) |
|
| LoggableComponentBase (LoggableComponentBase &&)=delete |
|
| LoggableComponentBase (const LoggableComponentBase &)=delete |
|
| ~LoggableComponentBase () override=default |
|
ComponentHealth | GetComponentHealth () const override |
|
void | OnLoadingCancelled () override |
|
void | OnAllComponentsLoaded () override |
|
void | OnAllComponentsAreStopping () override |
|
Base class for WebSocket handler.
Static options:
Inherits all the options from server::handlers::HandlerBase and adds the following ones:
Name | Description | Default value |
log-level | overrides log level for this handle | <no override> |
status-codes-log-level | map of "status": log_level items to override span log level for specific status codes | {} |
max-remote-payload | max remote payload size | 65536 |
fragment-size | max output fragment size | 65536 |
Example usage:
namespace samples::websocket {
public:
static constexpr std::string_view kName = "websocket-handler";
using WebsocketHandlerBase::WebsocketHandlerBase;
chat.
Send(std::move(message));
}
}
};
}
- Examples
- samples/websocket_service/websocket_service.cpp.
Definition at line 37 of file websocket_handler.hpp.
◆ HandleHandshake()
If any code is required for handshake validation, it goes here.
Definition at line 48 of file websocket_handler.hpp.
The documentation for this class was generated from the following file: