::: cowboy
The `cowboy` module provides convenience functions for
manipulating Ranch listeners.
:: Types
: http_headers() = [{binary(), iodata()}]
HTTP headers as a list of key/values.
: http_status() = non_neg_integer() | binary()
HTTP status.
A binary status can be used to set a custom message.
: http_version() = 'HTTP/1.1' | 'HTTP/1.0'
HTTP version.
: onrequest_fun() = fun((cowboy_req:req()) -> cowboy_req:req())
Fun called immediately after receiving a request.
It can perform any operation on the Req object, including
reading the request body or replying. If a reply is sent,
the processing of the request ends here, before any middleware
is executed.
: onresponse_fun() = fun((http_status(), http_headers(),
iodata(), cowboy_req:req()) -> cowboy_req:req())
Fun called immediately before sending the response.
It can perform any operation on the Req object, including
reading the request body or replying. If a reply is sent, it
overrides the reply initially sent. The callback will not be
called again for the new reply.
:: Exports
: start_http(Ref, NbAcceptors, TransOpts, ProtoOpts) -> {ok, pid()}
Types:
* Ref = ranch:ref()
* NbAcceptors = non_neg_integer()
* TransOpts = ranch_tcp:opts()
* ProtoOpts = cowboy_protocol:opts()
Start listening for HTTP connections. Returns the pid for this
listener's supervisor.
: start_https(Ref, NbAcceptors, TransOpts, ProtoOpts) -> {ok, pid()}
Types:
* Ref = ranch:ref()
* NbAcceptors = non_neg_integer()
* TransOpts = ranch_ssl:opts()
* ProtoOpts = cowboy_protocol:opts()
Start listening for HTTPS connections. Returns the pid for this
listener's supervisor.
: start_spdy(Ref, NbAcceptors, TransOpts, ProtoOpts) -> {ok, pid()}
Types:
* Ref = ranch:ref()
* NbAcceptors = non_neg_integer()
* TransOpts = ranch_ssl:opts()
* ProtoOpts = cowboy_spdy:opts()
Start listening for SPDY connections. Returns the pid for this
listener's supervisor.
: stop_listener(Ref) -> ok | {error, not_found}
Types:
* Ref = ranch:ref()
Stop a previously started listener.
: set_env(Ref, Name, Value) -> ok
Types:
* Ref = ranch:ref()
* Name = atom()
* Value = any()
Set or update an environment value for an already running listener.
This will take effect on all subsequent connections.
:: See also
The ^"Ranch guide^http://ninenines.eu/docs/en/ranch/HEAD/guide
provides detailed information about how listeners work.