From 441272421acfae86d3605e1533e0f5f3b9c2b1c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 3 Oct 2018 09:58:55 +0200 Subject: Cowboy 2.5.0 --- .../manual/cowboy_req.read_part_body/index.html | 208 +++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 docs/en/cowboy/2.5/manual/cowboy_req.read_part_body/index.html (limited to 'docs/en/cowboy/2.5/manual/cowboy_req.read_part_body/index.html') diff --git a/docs/en/cowboy/2.5/manual/cowboy_req.read_part_body/index.html b/docs/en/cowboy/2.5/manual/cowboy_req.read_part_body/index.html new file mode 100644 index 00000000..35e07484 --- /dev/null +++ b/docs/en/cowboy/2.5/manual/cowboy_req.read_part_body/index.html @@ -0,0 +1,208 @@ + + + + + + + + + + Nine Nines: cowboy_req:read_part_body(3) + + + + + + + + + + + + + + + + +
+
+
+
+ +

cowboy_req:read_part_body(3)

+ +

Name

+

cowboy_req:read_part_body - Read the current part's body

+

Description

+
+
read_part_body(Req :: cowboy_req:req())
+    -> read_part_body(Req, #{})
+
+read_part_body(Req :: cowboy_req:req(), Opts)
+    -> {ok,   Data :: binary(), Req}
+     | {more, Data :: binary(), Req}
+
+Opts :: cowboy_req:read_body_opts()
+
+

Read the body of the current part of the multipart message.

+

This function reads the request body and parses it as multipart. Each parts of a multipart representation have their own headers and body. This function returns the body of the current part. Examples of multipart media types are multipart/form-data and multipart/byteranges.

+

This function reads a chunk of the part's body. A more tuple is returned when more data remains to be read. Call the function repeatedly until an ok tuple is returned to read the entire body.

+

Once a part has been read, it can not be read again.

+

Once the body has been read, Cowboy sets the content-length header if it was not previously provided.

+ +

Arguments

+
Req
+

The Req object.

+
+
Opts
+

A map of body reading options. Please refer to cowboy_req:read_body(3) for details about each option.

+

This function uses the same default options as the cowboy_req:read_body(3) function.

+
+
+

Return value

+

A more tuple is returned when there are more data to be read.

+

An ok tuple is returned when there are no more data to be read.

+

The data is always returned as a binary.

+

The Req object returned in the tuple must be used from that point onward. It contains a more up to date representation of the request. For example it may have an added content-length header once the body has been read.

+

Changelog

+
  • 2.0: Function introduced. Replaces part_body/1,2. +
  • +
+

Examples

+
Read a full part's body
+
+
stream_body(Req0, Acc) ->
+    case cowboy_req:read_part_body(Req0) of
+        {more, Data, Req} ->
+            stream_body(Req, << Acc/binary, Data/binary >>);
+        {ok, Data, Req} ->
+            {ok, << Acc/binary, Data/binary >>, Req}
+    end.
+
+
Ensure a part's body is smaller than 64KB
+
+
{ok, Body, Req} = cowboy_req:read_part_body(Req0, #{length => 64000}).
+
+

See also

+

cowboy_req(3), cowboy_req:has_body(3), cowboy_req:body_length(3), cowboy_req:read_body(3), cowboy_req:read_urlencoded_body(3), cowboy_req:read_and_match_urlencoded_body(3), cowboy_req:read_part(3)

+ + + + + + +
+ +
+ + +

+ Cowboy + 2.5 + Function Reference + +

+ + + +

Navigation

+ +

Version select

+ + +
+
+
+
+ + + + + + + + + -- cgit v1.2.3