diff options
author | Loïc Hoguin <[email protected]> | 2019-10-07 13:25:49 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2019-10-07 13:25:49 +0200 |
commit | 2e8fcb9a9ef9ef9beff25ed4d48cf0d90609a69b (patch) | |
tree | 96193a4e156389d67172cde5894d70a5e0395d91 /doc/src/manual | |
parent | 5cdf78fd570a5239a83e8dce3705e53a08c47f7e (diff) | |
download | cowboy-2e8fcb9a9ef9ef9beff25ed4d48cf0d90609a69b.tar.gz cowboy-2e8fcb9a9ef9ef9beff25ed4d48cf0d90609a69b.tar.bz2 cowboy-2e8fcb9a9ef9ef9beff25ed4d48cf0d90609a69b.zip |
Add cowboy_req:cast/2
Better than sending messages manually.
Diffstat (limited to 'doc/src/manual')
-rw-r--r-- | doc/src/manual/cowboy_req.asciidoc | 4 | ||||
-rw-r--r-- | doc/src/manual/cowboy_req.cast.asciidoc | 64 | ||||
-rw-r--r-- | doc/src/manual/cowboy_stream.asciidoc | 8 |
3 files changed, 72 insertions, 4 deletions
diff --git a/doc/src/manual/cowboy_req.asciidoc b/doc/src/manual/cowboy_req.asciidoc index f6f4127..0a1ca1b 100644 --- a/doc/src/manual/cowboy_req.asciidoc +++ b/doc/src/manual/cowboy_req.asciidoc @@ -90,6 +90,10 @@ Response: * link:man:cowboy_req:stream_trailers(3)[cowboy_req:stream_trailers(3)] - Send the response trailers * link:man:cowboy_req:push(3)[cowboy_req:push(3)] - Push a resource to the client +Stream handlers: + +* link:man:cowboy_req:cast(3)[cowboy_req:cast(3)] - Cast a stream handler event + == Types === push_opts() diff --git a/doc/src/manual/cowboy_req.cast.asciidoc b/doc/src/manual/cowboy_req.cast.asciidoc new file mode 100644 index 0000000..d6e018f --- /dev/null +++ b/doc/src/manual/cowboy_req.cast.asciidoc @@ -0,0 +1,64 @@ += cowboy_req:cast(3) + +== Name + +cowboy_req:cast - Cast a stream handler event + +== Description + +[source,erlang] +---- +cast(Event :: any(), Req :: cowboy_req:req()) -> ok +---- + +Cast a stream handler event. + +The event will be passed to stream handlers through the +`info/3` callback. + +== Arguments + +Event:: + +The event to be sent to stream handlers. + +Req:: + +The Req object. + +== Return value + +The atom `ok` is always returned. It can be safely ignored. + +== Changelog + +* *2.7*: Function introduced. + +== Examples + +.Increase the HTTP/1.1 idle timeout +[source,erlang] +---- +cowboy_req:cast({set_options, #{ + idle_timeout => 3600000 +}}, Req). +---- + +.Add user data to metrics +---- +cowboy_req:cast({set_options, #{ + metrics_user_data => #{handler => ?MODULE} +}}, Req). +---- + +.Enable compression buffering +---- +cowboy_req:cast({set_options, #{ + compress_buffering => true +}}, Req). +---- + +== See also + +link:man:cowboy_req(3)[cowboy_req(3)], +link:man:cowboy_stream(3)[cowboy_stream(3)] diff --git a/doc/src/manual/cowboy_stream.asciidoc b/doc/src/manual/cowboy_stream.asciidoc index b1cab3f..868deac 100644 --- a/doc/src/manual/cowboy_stream.asciidoc +++ b/doc/src/manual/cowboy_stream.asciidoc @@ -277,9 +277,8 @@ relevant option's documentation for details. Cowboy will forward all messages sent to the stream to the `info/3` callback. To send a message to a stream, -send a message to the connection process with the form -`{{Pid, StreamID}, Msg}`. The connection process will -then forward `Msg` to the stream handlers. +the function link:man:cowboy_req:cast(3)[cowboy_req:cast(3)] +can be used. Cowboy will also forward the exit signals for the processes that the stream spawned. @@ -403,4 +402,5 @@ tuple. link:man:cowboy(7)[cowboy(7)], link:man:cowboy_http(3)[cowboy_http(3)], -link:man:cowboy_http2(3)[cowboy_http2(3)] +link:man:cowboy_http2(3)[cowboy_http2(3)], +link:man:cowboy_req:cast(3)[cowboy_req:cast(3)] |