aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/manual
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2019-10-07 13:25:49 +0200
committerLoïc Hoguin <[email protected]>2019-10-07 13:25:49 +0200
commit2e8fcb9a9ef9ef9beff25ed4d48cf0d90609a69b (patch)
tree96193a4e156389d67172cde5894d70a5e0395d91 /doc/src/manual
parent5cdf78fd570a5239a83e8dce3705e53a08c47f7e (diff)
downloadcowboy-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.asciidoc4
-rw-r--r--doc/src/manual/cowboy_req.cast.asciidoc64
-rw-r--r--doc/src/manual/cowboy_stream.asciidoc8
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)]