aboutsummaryrefslogtreecommitdiffstats
path: root/manual/cowboy_protocol.md
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-05-17 13:13:27 +0200
committerLoïc Hoguin <[email protected]>2013-05-17 13:13:27 +0200
commit666c59bc422172562673916ed3a8a796c4f9fbf4 (patch)
treef561151846de077513fa767edc10165a469d09ef /manual/cowboy_protocol.md
parent0e0ec7b1203a8490ee9a876f9274fe0c64e708f8 (diff)
downloadcowboy-666c59bc422172562673916ed3a8a796c4f9fbf4.tar.gz
cowboy-666c59bc422172562673916ed3a8a796c4f9fbf4.tar.bz2
cowboy-666c59bc422172562673916ed3a8a796c4f9fbf4.zip
Add the Cowboy Function Reference
The manual details every stable public functions of Cowboy.
Diffstat (limited to 'manual/cowboy_protocol.md')
-rw-r--r--manual/cowboy_protocol.md65
1 files changed, 65 insertions, 0 deletions
diff --git a/manual/cowboy_protocol.md b/manual/cowboy_protocol.md
new file mode 100644
index 0000000..86aee9d
--- /dev/null
+++ b/manual/cowboy_protocol.md
@@ -0,0 +1,65 @@
+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.