From ba14cf783820deb52ea0a810dd457ee179d7e30d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= <essen@ninenines.eu>
Date: Wed, 21 Dec 2016 15:47:44 +0100
Subject: Add man pages for the reply functions

---
 doc/src/manual/cowboy_req.stream_body.asciidoc | 77 ++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 doc/src/manual/cowboy_req.stream_body.asciidoc

(limited to 'doc/src/manual/cowboy_req.stream_body.asciidoc')

diff --git a/doc/src/manual/cowboy_req.stream_body.asciidoc b/doc/src/manual/cowboy_req.stream_body.asciidoc
new file mode 100644
index 0000000..e0dbd59
--- /dev/null
+++ b/doc/src/manual/cowboy_req.stream_body.asciidoc
@@ -0,0 +1,77 @@
+= cowboy_req:stream_body(3)
+
+== Name
+
+cowboy_req:stream_body - Stream the response body
+
+== Description
+
+[source,erlang]
+----
+stream_body(Data, IsFin, Req :: cowboy_req:req()) -> ok
+
+Data  :: iodata()
+IsFin :: fin | nofin
+----
+
+Stream the response body.
+
+This function may be called as many times as needed after
+initiating a response using the
+link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)]
+function.
+
+The second argument indicates if this call is the final
+call. Use the `nofin` value until you know no more data
+will be sent. The final call should use `fin` (possibly
+with an empty data value).
+
+Note that not using `fin` for the final call is not an
+error; Cowboy will take care of it when the request
+handler terminates if needed. Depending on the resource
+it may however be more efficient to do it as early as
+possible.
+
+You do not need to handle HEAD requests specifically as
+Cowboy will ensure no data is sent when you call this function.
+
+== Arguments
+
+Data::
+
+The data to be sent.
+
+IsFin::
+
+A flag indicating whether this is the final piece of data
+to be sent.
+
+Req::
+
+The Req object.
+
+== Return value
+
+The atom `ok` is always returned. It can be safely ignored.
+
+== Changelog
+
+* *2.0*: Function introduced. Replaces `chunk/2`.
+
+== Examples
+
+.Stream the response body
+[source,erlang]
+----
+Req = cowboy_req:stream_reply(200, #{
+    <<"content-type">> => <<"text/plain">>
+}, Req0),
+cowboy_req:stream_body(<<"Hello\n">>, nofin, Req),
+timer:sleep(1000),
+cowboy_req:stream_body(<<"World!\n">>, fin, Req).
+----
+
+== See also
+
+link:man:cowboy_req(3)[cowboy_req(3)],
+link:man:cowboy_req:stream_reply(3)[cowboy_req:stream_reply(3)]
-- 
cgit v1.2.3

