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"><</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">uint64_t</span> <span class="special">></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