0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-16 13:10:24 +00:00

change init/2 to return #state{} in documentation

Most examples returned 'Opts' as given by second argument to init. By
using '#state{}' the examples make it more clear that this is what is
being passed as 'State' to all subsequent callbacks (if any).
This commit is contained in:
Stefan Strigler 2014-10-08 16:49:18 +02:00
parent b87150c713
commit 8fd3ff2d62
5 changed files with 23 additions and 23 deletions

View file

@ -14,8 +14,8 @@ defined during the ^"router configuration^routing^.
A handler that does nothing would look like this:
``` erlang
init(Req, Opts) ->
{ok, Req, Opts}.
init(Req, _Opts) ->
{ok, Req, #state{}}.
```
Despite sending no reply, a `204 No Content` reply will be
@ -25,11 +25,11 @@ sent for every request.
We need to use the Req object for sending a reply.
``` erlang
init(Req, Opts) ->
init(Req, _Opts) ->
Req2 = cowboy_req:reply(200, [
{<<"content-type">>, <<"text/plain">>}
], <<"Hello World!">>, Req),
{ok, Req2, Opts}.
{ok, Req2, #state{}}.
```
As you can see we return a 3-tuple. `ok` means that the
@ -60,15 +60,15 @@ return the name of the handler type you want to use. The
following snippet switches to a Websocket handler:
``` erlang
init(Req, Opts) ->
{cowboy_websocket, Req, Opts}.
init(Req, _Opts) ->
{cowboy_websocket, Req, #state{}}.
```
You can also switch to your own custom handler type:
``` erlang
init(Req, Opts) ->
{my_handler_type, Req, Opts}.
init(Req, _Opts) ->
{my_handler_type, Req, #state{}}.
```
How to implement a custom handler type is described in the