Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / beast / doc / html / beast / ref / boost__beast__http__parser / body_limit.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>http::parser::body_limit</title>
5 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Beast">
8 <link rel="up" href="../boost__beast__http__parser.html" title="http::parser">
9 <link rel="prev" href="../boost__beast__http__parser.html" title="http::parser">
10 <link rel="next" href="chunked.html" title="http::parser::chunked">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="../boost__beast__http__parser.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__parser.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chunked.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="beast.ref.boost__beast__http__parser.body_limit"></a><a class="link" href="body_limit.html" title="http::parser::body_limit">http::parser::body_limit</a>
28 </h5></div></div></div>
29 <p>
30           (Inherited from <code class="computeroutput"><span class="identifier">http</span><span class="special">::</span><span class="identifier">basic_parser</span></code>)
31         </p>
32 <p>
33           <a class="indexterm" name="idm45873493903536"></a>
34 Set the limit on the payload body.
35         </p>
36 <h6>
37 <a name="beast.ref.boost__beast__http__parser.body_limit.h0"></a>
38           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.body_limit.synopsis"></a></span><a class="link" href="body_limit.html#beast.ref.boost__beast__http__parser.body_limit.synopsis">Synopsis</a>
39         </h6>
40 <pre class="programlisting"><span class="keyword">void</span>
41 <span class="identifier">body_limit</span><span class="special">(</span>
42     <span class="identifier">std</span><span class="special">::</span><span class="identifier">uint64_t</span> <span class="identifier">v</span><span class="special">);</span>
43 </pre>
44 <h6>
45 <a name="beast.ref.boost__beast__http__parser.body_limit.h1"></a>
46           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.body_limit.description"></a></span><a class="link" href="body_limit.html#beast.ref.boost__beast__http__parser.body_limit.description">Description</a>
47         </h6>
48 <p>
49           This function sets the maximum allowed size of the payload body, before
50           any encodings except chunked have been removed. Depending on the message
51           semantics, one of these cases will apply:
52         </p>
53 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
54 <li class="listitem">
55               The Content-Length is specified and exceeds the limit. In this case
56               the result <a class="link" href="../boost__beast__http__error.html" title="http::error"><code class="computeroutput"><span class="identifier">http</span><span class="special">::</span><span class="identifier">body_limit</span></code></a> is returned immediately
57               after the header is parsed.
58             </li>
59 <li class="listitem">
60               The Content-Length is unspecified and the chunked encoding is not specified
61               as the last encoding. In this case the end of message is determined
62               by the end of file indicator on the associated stream or input source.
63               If a sufficient number of body payload octets are presented to the
64               parser to exceed the configured limit, the parse fails with the result
65               <a class="link" href="../boost__beast__http__error.html" title="http::error"><code class="computeroutput"><span class="identifier">http</span><span class="special">::</span><span class="identifier">body_limit</span></code></a>
66             </li>
67 <li class="listitem">
68               The Transfer-Encoding specifies the chunked encoding as the last encoding.
69               In this case, when the number of payload body octets produced by removing
70               the chunked encoding exceeds the configured limit, the parse fails
71               with the result <a class="link" href="../boost__beast__http__error.html" title="http::error"><code class="computeroutput"><span class="identifier">http</span><span class="special">::</span><span class="identifier">body_limit</span></code></a>.
72             </li>
73 </ul></div>
74 <p>
75           Setting the limit after any body octets have been parsed results in undefined
76           behavior. The default limit is 1MB for requests and 8MB for responses.
77         </p>
78 <h6>
79 <a name="beast.ref.boost__beast__http__parser.body_limit.h2"></a>
80           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.body_limit.parameters"></a></span><a class="link" href="body_limit.html#beast.ref.boost__beast__http__parser.body_limit.parameters">Parameters</a>
81         </h6>
82 <div class="informaltable"><table class="table">
83 <colgroup>
84 <col>
85 <col>
86 </colgroup>
87 <thead><tr>
88 <th>
89                   <p>
90                     Name
91                   </p>
92                 </th>
93 <th>
94                   <p>
95                     Description
96                   </p>
97                 </th>
98 </tr></thead>
99 <tbody><tr>
100 <td>
101                   <p>
102                     <code class="computeroutput"><span class="identifier">v</span></code>
103                   </p>
104                 </td>
105 <td>
106                   <p>
107                     The payload body limit to set
108                   </p>
109                 </td>
110 </tr></tbody>
111 </table></div>
112 </div>
113 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
114 <td align="left"></td>
115 <td align="right"><div class="copyright-footer">Copyright &#169; 2016-2019 Vinnie
116       Falco<p>
117         Distributed under the Boost Software License, Version 1.0. (See accompanying
118         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
119       </p>
120 </div></td>
121 </tr></table>
122 <hr>
123 <div class="spirit-nav">
124 <a accesskey="p" href="../boost__beast__http__parser.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__parser.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chunked.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
125 </div>
126 </body>
127 </html>