mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
58 lines
1.3 KiB
Markdown
58 lines
1.3 KiB
Markdown
![]() |
cowboy_http_handler
|
||
|
===================
|
||
|
|
||
|
The `cowboy_http_handler` behaviour defines the interface used
|
||
|
by plain HTTP handlers.
|
||
|
|
||
|
Unless noted otherwise, the callbacks will be executed sequentially.
|
||
|
|
||
|
Types
|
||
|
-----
|
||
|
|
||
|
None.
|
||
|
|
||
|
Callbacks
|
||
|
---------
|
||
|
|
||
|
### init({TransportName, ProtocolName}, Req, Opts)
|
||
|
-> {ok, Req, State} | {shutdown, Req, State}
|
||
|
|
||
|
> Types:
|
||
|
> * TransportName = tcp | ssl | atom()
|
||
|
> * ProtocolName = http | atom()
|
||
|
> * Req = cowboy_req:req()
|
||
|
> * Opts = any()
|
||
|
> * State = any()
|
||
|
>
|
||
|
> Initialize the state for this request.
|
||
|
>
|
||
|
> The `shutdown` return value can be used to skip the `handle/2`
|
||
|
> call entirely.
|
||
|
|
||
|
### handle(Req, State) -> {ok, Req, State}
|
||
|
|
||
|
> Types:
|
||
|
> * Req = cowboy_req:req()
|
||
|
> * State = any()
|
||
|
>
|
||
|
> Handle the request.
|
||
|
>
|
||
|
> This callback is where the request is handled and a response
|
||
|
> should be sent. If a response is not sent, Cowboy will send
|
||
|
> a `204 No Content` response automatically.
|
||
|
|
||
|
### terminate(Reason, Req, State) -> ok
|
||
|
|
||
|
> Types:
|
||
|
> * Reason = {normal, shutdown} | {error, atom()}
|
||
|
> * Req = cowboy_req:req()
|
||
|
> * State = any()
|
||
|
>
|
||
|
> Perform any necessary cleanup of the state.
|
||
|
>
|
||
|
> This callback should release any resource currently in use,
|
||
|
> clear any active timer and reset the process to its original
|
||
|
> state, as it might be reused for future requests sent on the
|
||
|
> same connection. Typical plain HTTP handlers rarely need to
|
||
|
> use it.
|