Github   Telegram
Loading...
Searching...
No Matches
Classes
HTTP Handlers

Handlers are components that could be used by components::Server to process the incoming requests. More...

+ Collaboration diagram for HTTP Handlers:

Classes

class  server::handlers::DnsClientControl
 Handlers that controls the DNS client. More...
 
class  server::handlers::DynamicDebugLog
 Handler for forcing specific lines logging. Feature also known as dynamic debug logging. More...
 
class  server::handlers::HttpHandlerBase
 Base class for all the Userver HTTP Handlers. More...
 
class  server::handlers::HttpHandlerFlatbufBase< InputType, ReturnType >
 Convenient base for handlers that accept requests with body in Flatbuffer format and respond with body in Flatbuffer format. More...
 
class  server::handlers::HttpHandlerJsonBase
 Convenient base for handlers that accept requests with body in JSON format and respond with body in JSON format. More...
 
class  server::handlers::HttpHandlerStatic
 Handler that returns HTTP 200 if file exist and returns file data with mapped content/type. More...
 
class  server::handlers::InspectRequests
 Handler that returns information about all in-flight requests. More...
 
class  server::handlers::Jemalloc
 Handler that controlls the jemalloc allocator. More...
 
class  server::handlers::LogLevel
 Handler that controlls logging levels of all the loggers. More...
 
class  server::handlers::OnLogRotate
 Handler that controlls logging levels of all the loggers. More...
 
class  server::handlers::Ping
 Handler that returns HTTP 200 if the service is OK and able to process requests. More...
 
class  server::handlers::ServerMonitor
 Handler that returns statistics data. More...
 
class  server::handlers::TestsControl
 Handler that allows to control the behavior of server from tests, and functional tests with testsuite in particular. More...
 

Detailed Description

Handlers are components that could be used by components::Server to process the incoming requests.

All the HTTP handlers derive from server::handlers::HttpHandlerBase and override its methods to provide functionality.

See Userver Components for more information on how to register components.

Configuration

All the handlers inherit configuration options from their base classes:

All the components, including handlers, also have the load-enabled option.

Static configuration example:

Here's an example of the full config for the server::handlers::Ping handle.

# yaml
handler-ping:
# Options from server::handlers::HandlerBase
path: /ping
method: GET
task_processor: main-task-processor
max_request_size: 256
max_headers_size: 256
parse_args_from_body: false
# auth: TODO:
url_trailing_slash: strict-match
max_requests_in_flight: 100
request_body_size_log_limit: 128
response_data_size_log_limit: 128
max_requests_per_second: 100
decompress_request: false
throttling_enabled: false
set-response-server-hostname: false
# Options from server::handlers::HttpHandlerBase
log-level: WARNING
# Common component options
load-enabled: true

Clients | Components