• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>http::basic_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 1. Boost.Beast">
8<link rel="up" href="../boost__beast__http__basic_parser.html" title="http::basic_parser">
9<link rel="prev" href="need_eof.html" title="http::basic_parser::need_eof">
10<link rel="next" href="header_limit.html" title="http::basic_parser::header_limit">
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="need_eof.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__basic_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="header_limit.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__basic_parser.body_limit"></a><a class="link" href="body_limit.html" title="http::basic_parser::body_limit">http::basic_parser::body_limit</a>
28</h5></div></div></div>
29<p>
30          <a class="indexterm" name="idm46057546853600"></a>
31        </p>
32<p>
33          Set the limit on the payload body.
34        </p>
35<h6>
36<a name="beast.ref.boost__beast__http__basic_parser.body_limit.h0"></a>
37          <span class="phrase"><a name="beast.ref.boost__beast__http__basic_parser.body_limit.synopsis"></a></span><a class="link" href="body_limit.html#beast.ref.boost__beast__http__basic_parser.body_limit.synopsis">Synopsis</a>
38        </h6>
39<pre class="programlisting"><span class="keyword">void</span>
40<span class="identifier">body_limit</span><span class="special">(</span>
41    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">uint64_t</span> <span class="special">&gt;</span> <span class="identifier">v</span><span class="special">);</span>
42</pre>
43<h6>
44<a name="beast.ref.boost__beast__http__basic_parser.body_limit.h1"></a>
45          <span class="phrase"><a name="beast.ref.boost__beast__http__basic_parser.body_limit.description"></a></span><a class="link" href="body_limit.html#beast.ref.boost__beast__http__basic_parser.body_limit.description">Description</a>
46        </h6>
47<p>
48          This function sets the maximum allowed size of the payload body, before
49          any encodings except chunked have been removed. Depending on the message
50          semantics, one of these cases will apply:
51        </p>
52<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
53<li class="listitem">
54              The Content-Length is specified and exceeds the limit. In this case
55              the result <a class="link" href="../boost__beast__http__error.html" title="http::error"><code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">body_limit</span></code></a> is returned immediately
56              after the header is parsed.
57            </li>
58<li class="listitem">
59              The Content-Length is unspecified and the chunked encoding is not specified
60              as the last encoding. In this case the end of message is determined
61              by the end of file indicator on the associated stream or input source.
62              If a sufficient number of body payload octets are presented to the
63              parser to exceed the configured limit, the parse fails with the result
64              <a class="link" href="../boost__beast__http__error.html" title="http::error"><code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">body_limit</span></code></a>
65            </li>
66<li class="listitem">
67              The Transfer-Encoding specifies the chunked encoding as the last encoding.
68              In this case, when the number of payload body octets produced by removing
69              the chunked encoding exceeds the configured limit, the parse fails
70              with the result <a class="link" href="../boost__beast__http__error.html" title="http::error"><code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">body_limit</span></code></a>.
71            </li>
72</ul></div>
73<p>
74          Setting the limit after any body octets have been parsed results in undefined
75          behavior. The default limit is 1MB for requests and 8MB for responses.
76        </p>
77<h6>
78<a name="beast.ref.boost__beast__http__basic_parser.body_limit.h2"></a>
79          <span class="phrase"><a name="beast.ref.boost__beast__http__basic_parser.body_limit.parameters"></a></span><a class="link" href="body_limit.html#beast.ref.boost__beast__http__basic_parser.body_limit.parameters">Parameters</a>
80        </h6>
81<div class="informaltable"><table class="table">
82<colgroup>
83<col>
84<col>
85</colgroup>
86<thead><tr>
87<th>
88                  <p>
89                    Name
90                  </p>
91                </th>
92<th>
93                  <p>
94                    Description
95                  </p>
96                </th>
97</tr></thead>
98<tbody><tr>
99<td>
100                  <p>
101                    <code class="computeroutput"><span class="identifier">v</span></code>
102                  </p>
103                </td>
104<td>
105                  <p>
106                    An optional integral value representing the body limit. If this
107                    is equal to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none</span></code>,
108                    then the body limit is disabled.
109                  </p>
110                </td>
111</tr></tbody>
112</table></div>
113</div>
114<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
115<td align="left"></td>
116<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie
117      Falco<p>
118        Distributed under the Boost Software License, Version 1.0. (See accompanying
119        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>)
120      </p>
121</div></td>
122</tr></table>
123<hr>
124<div class="spirit-nav">
125<a accesskey="p" href="need_eof.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__basic_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="header_limit.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
126</div>
127</body>
128</html>
129