mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-15 04:30:25 +00:00
Remove hooks from the user guide
They're gone!
This commit is contained in:
parent
e7a65406a7
commit
381a193626
3 changed files with 0 additions and 49 deletions
|
@ -96,6 +96,4 @@ include::architecture.asciidoc[Architecture]
|
||||||
|
|
||||||
include::broken_clients.asciidoc[Dealing with broken clients]
|
include::broken_clients.asciidoc[Dealing with broken clients]
|
||||||
|
|
||||||
include::hooks.asciidoc[Hooks]
|
|
||||||
|
|
||||||
include::overview.asciidoc[Overview]
|
include::overview.asciidoc[Overview]
|
||||||
|
|
|
@ -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.
|
|
|
@ -11,5 +11,4 @@ pre-release.
|
||||||
Streams are meant to replace hooks. The relevant chapters
|
Streams are meant to replace hooks. The relevant chapters
|
||||||
for Cowboy 1.0 were:
|
for Cowboy 1.0 were:
|
||||||
|
|
||||||
* xref:hooks[Hooks]
|
|
||||||
* xref:broken_clients[Dealing with broken clients]
|
* xref:broken_clients[Dealing with broken clients]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue