diff options
Diffstat (limited to 'docs/en/cowboy/2.3/manual/cowboy_req.read_part_body/index.html')
-rw-r--r-- | docs/en/cowboy/2.3/manual/cowboy_req.read_part_body/index.html | 150 |
1 files changed, 45 insertions, 105 deletions
diff --git a/docs/en/cowboy/2.3/manual/cowboy_req.read_part_body/index.html b/docs/en/cowboy/2.3/manual/cowboy_req.read_part_body/index.html index 21947796..d08ee13e 100644 --- a/docs/en/cowboy/2.3/manual/cowboy_req.read_part_body/index.html +++ b/docs/en/cowboy/2.3/manual/cowboy_req.read_part_body/index.html @@ -62,130 +62,70 @@ <h1 class="lined-header"><span>cowboy_req:read_part_body(3)</span></h1> -<div class="sect1"> <h2 id="_name">Name</h2> -<div class="sectionbody"> -<div class="paragraph"><p>cowboy_req:read_part_body - Read the current part’s body</p></div> -</div> -</div> -<div class="sect1"> +<p>cowboy_req:read_part_body - Read the current part's body</p> <h2 id="_description">Description</h2> -<div class="sectionbody"> -<div class="listingblock"> -<div class="content"><!-- Generator: GNU source-highlight +<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8 by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -<pre><tt><span style="font-weight: bold"><span style="color: #000000">read_part_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>()) - <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">read_part_body</span></span>(<span style="color: #009900">Req</span>, #{}) - -<span style="font-weight: bold"><span style="color: #000000">read_part_body</span></span>(<span style="color: #009900">Req</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:req</span></span>(), <span style="color: #009900">Opts</span>) - <span style="color: #990000">-></span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Req</span>} - | {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="color: #009900">Req</span>} - -<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_body_opts</span></span>()</tt></pre></div></div> -<div class="paragraph"><p>Read the body of the current part of the multipart message.</p></div> -<div class="paragraph"><p>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 <code>multipart/form-data</code> and <code>multipart/byteranges</code>.</p></div> -<div class="paragraph"><p>This function reads a chunk of the part’s body. A <code>more</code> tuple -is returned when more data remains to be read. Call the function -repeatedly until an <code>ok</code> tuple is returned to read the entire body.</p></div> -<div class="paragraph"><p>Once a part has been read, it can not be read again.</p></div> -<div class="paragraph"><p>Once the body has been read, Cowboy sets the content-length -header if it was not previously provided.</p></div> -</div> -</div> -<div class="sect1"> +<pre><tt><b><font color="#000000">read_part_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>()) + <font color="#990000">-></font> <b><font color="#000000">read_part_body</font></b>(<font color="#009900">Req</font>, #{}) + +<b><font color="#000000">read_part_body</font></b>(<font color="#009900">Req</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:req</font></b>(), <font color="#009900">Opts</font>) + <font color="#990000">-></font> {<font color="#FF6600">ok</font>, <font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Req</font>} + | {<font color="#FF6600">more</font>, <font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>(), <font color="#009900">Req</font>} + +<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">cowboy_req:read_body_opts</font></b>()</tt></pre> +</div></div> +<p>Read the body of the current part of the multipart message.</p> +<p>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 <code>multipart/form-data</code> and <code>multipart/byteranges</code>.</p> +<p>This function reads a chunk of the part's body. A <code>more</code> tuple is returned when more data remains to be read. Call the function repeatedly until an <code>ok</code> tuple is returned to read the entire body.</p> +<p>Once a part has been read, it can not be read again.</p> +<p>Once the body has been read, Cowboy sets the content-length header if it was not previously provided.</p> +<!-- @todo Limit the maximum size of multipart headers.--> <h2 id="_arguments">Arguments</h2> -<div class="sectionbody"> -<div class="dlist"><dl> -<dt class="hdlist1"> -Req -</dt> -<dd> -<p> -The Req object. -</p> +<dl><dt>Req</dt> +<dd><p>The Req object.</p> </dd> -<dt class="hdlist1"> -Opts -</dt> -<dd> -<p> -A map of body reading options. Please refer to -<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> -for details about each option. -</p> -<div class="paragraph"><p>This function uses the same default options as the -<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> -function.</p></div> +<dt>Opts</dt> +<dd><p>A map of body reading options. Please refer to <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> for details about each option.</p> +<p>This function uses the same default options as the <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a> function.</p> </dd> -</dl></div> -</div> -</div> -<div class="sect1"> +</dl> <h2 id="_return_value">Return value</h2> -<div class="sectionbody"> -<div class="paragraph"><p>A <code>more</code> tuple is returned when there are more data to be read.</p></div> -<div class="paragraph"><p>An <code>ok</code> tuple is returned when there are no more data to be read.</p></div> -<div class="paragraph"><p>The data is always returned as a binary.</p></div> -<div class="paragraph"><p>The Req object returned in the tuple must be used for 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.</p></div> -</div> -</div> -<div class="sect1"> +<p>A <code>more</code> tuple is returned when there are more data to be read.</p> +<p>An <code>ok</code> tuple is returned when there are no more data to be read.</p> +<p>The data is always returned as a binary.</p> +<p>The Req object returned in the tuple must be used for 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.</p> <h2 id="_changelog">Changelog</h2> -<div class="sectionbody"> -<div class="ulist"><ul> -<li> -<p> -<strong>2.0</strong>: Function introduced. Replaces <code>part_body/1,2</code>. -</p> +<ul><li><strong>2.0</strong>: Function introduced. Replaces <code>part_body/1,2</code>. </li> -</ul></div> -</div> -</div> -<div class="sect1"> +</ul> <h2 id="_examples">Examples</h2> -<div class="sectionbody"> -<div class="listingblock"> -<div class="title">Read a full part’s body</div> -<div class="content"><!-- Generator: GNU source-highlight +<div class="listingblock"><div class="title">Read a full part's body</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.8 by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -<pre><tt><span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req0</span>, <span style="color: #009900">Acc</span>) <span style="color: #990000">-></span> - <span style="font-weight: bold"><span style="color: #0000FF">case</span></span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part_body</span></span>(<span style="color: #009900">Req0</span>) <span style="font-weight: bold"><span style="color: #0000FF">of</span></span> - {<span style="color: #FF6600">more</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-></span> - <span style="font-weight: bold"><span style="color: #000000">stream_body</span></span>(<span style="color: #009900">Req</span>, <span style="color: #990000"><<</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">>></span>); - {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Data</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">-></span> - {<span style="color: #FF6600">ok</span>, <span style="color: #990000"><<</span> <span style="color: #009900">Acc</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span>, <span style="color: #009900">Data</span><span style="color: #990000">/</span><span style="font-weight: bold"><span style="color: #000080">binary</span></span> <span style="color: #990000">>></span>, <span style="color: #009900">Req</span>} - <span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div> -<div class="listingblock"> -<div class="title">Ensure a part’s body is smaller than 64KB</div> -<div class="content"><!-- Generator: GNU source-highlight +<pre><tt><b><font color="#000000">stream_body</font></b>(<font color="#009900">Req0</font>, <font color="#009900">Acc</font>) <font color="#990000">-></font> + <b><font color="#0000FF">case</font></b> <b><font color="#000000">cowboy_req:read_part_body</font></b>(<font color="#009900">Req0</font>) <b><font color="#0000FF">of</font></b> + {<font color="#FF6600">more</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-></font> + <b><font color="#000000">stream_body</font></b>(<font color="#009900">Req</font>, <font color="#990000"><<</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">>></font>); + {<font color="#FF6600">ok</font>, <font color="#009900">Data</font>, <font color="#009900">Req</font>} <font color="#990000">-></font> + {<font color="#FF6600">ok</font>, <font color="#990000"><<</font> <font color="#009900">Acc</font><font color="#990000">/</font><b><font color="#000080">binary</font></b>, <font color="#009900">Data</font><font color="#990000">/</font><b><font color="#000080">binary</font></b> <font color="#990000">>></font>, <font color="#009900">Req</font>} + <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre> +</div></div> +<div class="listingblock"><div class="title">Ensure a part's body is smaller than 64KB</div> +<div class="content"><!-- Generator: GNU source-highlight 3.1.8 by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Req</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">cowboy_req:read_part_body</span></span>(<span style="color: #009900">Req0</span>, #{<span style="font-weight: bold"><span style="color: #000080">length</span></span> <span style="color: #990000">=></span> <span style="color: #993399">64000</span>})<span style="color: #990000">.</span></tt></pre></div></div> -</div> -</div> -<div class="sect1"> +<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Req</font>} <font color="#990000">=</font> <b><font color="#000000">cowboy_req:read_part_body</font></b>(<font color="#009900">Req0</font>, #{<b><font color="#000080">length</font></b> <font color="#990000">=></font> <font color="#993399">64000</font>})<font color="#990000">.</font></tt></pre> +</div></div> <h2 id="_see_also">See also</h2> -<div class="sectionbody"> -<div class="paragraph"><p><a href="../cowboy_req">cowboy_req(3)</a>, -<a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, -<a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, -<a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, -<a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, -<a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a></p></div> -</div> -</div> +<p><a href="../cowboy_req">cowboy_req(3)</a>, <a href="../cowboy_req.has_body">cowboy_req:has_body(3)</a>, <a href="../cowboy_req.body_length">cowboy_req:body_length(3)</a>, <a href="../cowboy_req.read_body">cowboy_req:read_body(3)</a>, <a href="../cowboy_req.read_urlencoded_body">cowboy_req:read_urlencoded_body(3)</a>, <a href="../cowboy_req.read_part">cowboy_req:read_part(3)</a></p> + |