#include <userver/server/websocket/websocket_handler.hpp>
Base class for WebSocket handler.
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 |
Definition at line 37 of file websocket_handler.hpp.
Public Member Functions | |
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 |
void | HandleCustomHandlerException (const http::HttpRequest &request, const CustomHandlerException &ex) const |
void | HandleUnknownException (const http::HttpRequest &request, const std::exception &ex) const |
void | LogUnknownException (const std::exception &ex) const |
Helper function to log an unknown exception. | |
const std::optional< logging::Level > & | GetLogLevel () const |
Returns the default log level for the handler. | |
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. | |
Public Member Functions inherited from components::LoggableComponentBase | |
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 |
Additional Inherited Members | |
Static Public Member Functions inherited from server::handlers::HttpHandlerBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from server::handlers::HandlerBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Static Public Member Functions inherited from components::LoggableComponentBase | |
static yaml_config::Schema | GetStaticConfigSchema () |
Protected Types inherited from server::handlers::HandlerBase | |
using | HandlerErrorCode = handlers::HandlerErrorCode |
using | InternalMessage = handlers::InternalMessage |
using | ExternalBody = handlers::ExternalBody |
using | ClientError = handlers::ClientError |
using | InternalServerError = handlers::InternalServerError |
Protected Member Functions inherited from server::handlers::HttpHandlerBase | |
void | ThrowUnsupportedHttpMethod (const http::HttpRequest &request) const |
virtual void | OnRequestCompleteThrow (const http::HttpRequest &, request::RequestContext &) const |
virtual void | HandleStreamRequest (const server::http::HttpRequest &, server::request::RequestContext &, server::http::ResponseBodyStream &) const |
virtual bool | IsStreamed () const |
virtual bool | IsMethodStatisticIncluded () const |
virtual bool | NeedCheckAuth () const |
virtual std::string | GetRequestBodyForLogging (const http::HttpRequest &request, request::RequestContext &context, const std::string &request_body) const |
Override it if you need a custom request body logging. | |
virtual std::string | GetResponseDataForLogging (const http::HttpRequest &request, request::RequestContext &context, const std::string &response_data) const |
Override it if you need a custom response data logging. | |
virtual void | ParseRequestData (const http::HttpRequest &, request::RequestContext &) const |
virtual std::string | GetMetaType (const http::HttpRequest &) const |
|
inlinevirtual |
If any code is required for handshake validation, it goes here.
Definition at line 48 of file websocket_handler.hpp.