diff options
author | Loïc Hoguin <[email protected]> | 2018-06-02 22:44:16 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-06-02 22:44:16 +0200 |
commit | 5b810c924da242632a04a2c44772cb892aa1b7c0 (patch) | |
tree | e9ee81bd3b6aea1f9665914b8858edad377c24c7 /doc/src/manual/gun.request.asciidoc | |
parent | 04b41c3cf70aba88c1dd76e4e86c39458d817219 (diff) | |
download | gun-5b810c924da242632a04a2c44772cb892aa1b7c0.tar.gz gun-5b810c924da242632a04a2c44772cb892aa1b7c0.tar.bz2 gun-5b810c924da242632a04a2c44772cb892aa1b7c0.zip |
Revamp the manual, one page per function/message
Diffstat (limited to 'doc/src/manual/gun.request.asciidoc')
-rw-r--r-- | doc/src/manual/gun.request.asciidoc | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/doc/src/manual/gun.request.asciidoc b/doc/src/manual/gun.request.asciidoc new file mode 100644 index 0000000..ec169ac --- /dev/null +++ b/doc/src/manual/gun.request.asciidoc @@ -0,0 +1,105 @@ += gun:request(3) + +== Name + +gun:request - Perform the given request + +== Description + +[source,erlang] +---- +request(ConnPid, Method, Path, Headers) + -> StreamRef + +request(ConnPid, Method, Path, Headers, Body) + -> request(ConnPid, Method, Path, Headers, Body, #{}) + +request(ConnPid, Method, Path, Headers, Body, ReqOpts) + -> StreamRef + +ConnPid :: pid() +Method :: binary() +Path :: iodata() +Headers :: [{binary(), iodata()}] +Body :: iodata() +ReqOpts :: gun:req_opts() +StreamRef :: reference() +---- + +Perform the given request. + +This is a general purpose function that should only be +used when other method-specific functions do not apply. + +The behavior of this function varies depending on whether +a body is provided. + +The function `request/4` expects either a content-length +or content-type header to indicate that a body will be +sent afterwards. Gun will assume the request has no body +otherwise. The body can then be sent using +link:man:gun:data(3)[gun:data(3)]. + +The function `request/5,6` sends the entire request, including +the request body, immediately. It is therefore not possible +to use link:man:gun:data(3)[gun:data(3)] after that. You +should provide a content-type header. Gun will set the +content-length header automatically. + +== Arguments + +ConnPid:: + +The pid of the Gun connection process. + +Method:: + +Method to be used for the request. + +Path:: + +Path to the resource. + +Headers:: + +Additional request headers. + +Body:: + +Request body. + +ReqOpts:: + +Request options. + +== Return value + +A reference that identifies the newly created stream is +returned. It is this reference that must be passed in +subsequent calls and will be received in messages related +to this new stream. + +== Changelog + +* *1.0*: Function introduced. + +== Examples + +.Perform a request +[source,erlang] +---- +StreamRef = gun:request(ConnPid, <<"PUT">>, + "/lang/fr_FR/hello", + [{<<"content-type">>, <<"text/plain">>}], + <<"Bonjour !">>). +---- + +== See also + +link:man:gun(3)[gun(3)], +link:man:gun:await(3)[gun:await(3)], +link:man:gun:await_body(3)[gun:await_body(3)], +link:man:gun_push(3)[gun_push(3)], +link:man:gun_inform(3)[gun_inform(3)], +link:man:gun_response(3)[gun_response(3)], +link:man:gun_data(3)[gun_data(3)] |