1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
= gun:data(3)
== Name
gun:data - Stream the body of a request
== Description
[source,erlang]
----
data(ConnPid, StreamRef, IsFin, Data) -> ok
ConnPid :: pid()
StreamRef :: reference()
IsFin :: fin | nofin
Data :: iodata()
----
Stream the body of a request.
This function can only be used if the original request
had headers indicating that a body would be streamed.
All calls to this function must use the `nofin` flag
except for the last which must use `fin` to indicate
the end of the request body.
Empty data is allowed regardless of the value of `IsFin`.
Gun may or may not send empty data chunks, however.
== Arguments
ConnPid::
The pid of the Gun connection process.
StreamRef::
Identifier of the stream for the original request.
IsFin::
Whether this message terminates the request.
Data::
All or part of the response body.
== Return value
The atom `ok` is returned.
== Changelog
* *1.0*: Function introduced.
== Examples
.Stream the body of a request
[source,erlang]
----
StreamRef = gun:put(ConnPid, "/lang/fr_FR/hello", [
{<<"content-type">>, <<"text/plain">>}
]).
gun:data(ConnPid, StreamRef, nofin, <<"Bonjour !\n">>).
gun:data(ConnPid, StreamRef, fin, <<"Bonsoir !\n">>).
----
== See also
link:man:gun(3)[gun(3)],
link:man:gun:patch(3)[gun:patch(3)],
link:man:gun:post(3)[gun:post(3)],
link:man:gun:put(3)[gun:put(3)],
link:man:gun:headers(3)[gun:headers(3)]
|