cowboy_protocol
The cowboy_protocol
module implements HTTP/1.1 and HTTP/1.0
as a Ranch protocol.
Types
opts() = [{compress, boolean()}
| {env, cowboy_middleware:env()}
| {max_empty_lines, non_neg_integer()}
| {max_header_name_length, non_neg_integer()}
| {max_header_value_length, non_neg_integer()}
| {max_headers, non_neg_integer()}
| {max_keepalive, non_neg_integer()}
| {max_request_line_length, non_neg_integer()}
| {middlewares, [module()]}
| {onrequest, cowboy:onrequest_fun()}
| {onresponse, cowboy:onresponse_fun()}
| {timeout, timeout()}]
Configuration for the HTTP protocol handler.
This configuration is passed to Cowboy when starting listeners
using cowboy:start_http/4
or cowboy:start_https/4
functions.
It can be updated without restarting listeners using the
Ranch functions ranch:get_protocol_options/1
and
ranch:set_protocol_options/2
.
Option descriptions
The default value is given next to the option name.
- compress (false)
- When enabled, Cowboy will attempt to compress the response body.
- env ([{listener, Ref}])
- Initial middleware environment.
- max_empty_lines (5)
- Maximum number of empty lines before a request.
- max_header_name_length (64)
- Maximum length of header names.
- max_header_value_length (4096)
- Maximum length of header values.
- max_headers (100)
- Maximum number of headers allowed per request.
- max_keepalive (100)
- Maximum number of requests allowed per connection.
- max_request_line_length (4096)
- Maximum length of the request line.
- middlewares ([cowboy_router, cowboy_handler])
- List of middlewares to execute for every requests.
- onrequest (undefined)
- Fun called every time a request is received.
- onresponse (undefined)
- Fun called every time a response is sent.
- timeout (5000)
- Time in ms with no requests before Cowboy closes the connection.
Exports
None.