0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 20:30:23 +00:00

Remove hooks from the user guide

They're gone!
This commit is contained in:
Loïc Hoguin 2017-07-19 19:04:48 +02:00
parent e7a65406a7
commit 381a193626
No known key found for this signature in database
GPG key ID: 71366FF21851DF03
3 changed files with 0 additions and 49 deletions

View file

@ -96,6 +96,4 @@ include::architecture.asciidoc[Architecture]
include::broken_clients.asciidoc[Dealing with broken clients]
include::hooks.asciidoc[Hooks]
include::overview.asciidoc[Overview]

View file

@ -1,46 +0,0 @@
[[hooks]]
== Hooks
Hooks allow the user to customize Cowboy's behavior during specific
operations.
=== Onresponse
The `onresponse` hook is called right before sending the response
to the socket. It can be used for the purposes of logging responses,
or for modifying the response headers or body. The best example is
providing custom error pages.
Note that this function MUST NOT crash. Cowboy may or may not send a
reply if this function crashes. If a reply is sent, the hook MUST
explicitly provide all headers that are needed.
You can specify the `onresponse` hook when creating the listener.
[source,erlang]
----
cowboy:start_http(my_http_listener, 100,
[{port, 8080}],
[
{env, [{dispatch, Dispatch}]},
{onresponse, fun ?MODULE:custom_404_hook/4}
]
).
----
The following hook function will provide a custom body for 404 errors
when it has not been provided before, and will let Cowboy proceed with
the default response otherwise.
[source,erlang]
----
custom_404_hook(404, Headers, <<>>, Req) ->
Body = <<"404 Not Found.">>,
Headers2 = lists:keyreplace(<<"content-length">>, 1, Headers,
{<<"content-length">>, integer_to_list(byte_size(Body))}),
cowboy_req:reply(404, Headers2, Body, Req);
custom_404_hook(_, _, _, Req) ->
Req.
----
Again, make sure to always return the last request object obtained.

View file

@ -11,5 +11,4 @@ pre-release.
Streams are meant to replace hooks. The relevant chapters
for Cowboy 1.0 were:
* xref:hooks[Hooks]
* xref:broken_clients[Dealing with broken clients]