1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Fields</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="../concepts.html" title="Concepts"> 9<link rel="prev" href="DynamicBuffer.html" title="DynamicBuffer"> 10<link rel="next" href="FieldsWriter.html" title="FieldsWriter"> 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="DynamicBuffer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="FieldsWriter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h3 class="title"> 27<a name="beast.concepts.Fields"></a><a class="link" href="Fields.html" title="Fields">Fields</a> 28</h3></div></div></div> 29<div class="warning"><table border="0" summary="Warning"> 30<tr> 31<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td> 32<th align="left">Warning</th> 33</tr> 34<tr><td align="left" valign="top"><p> 35 The <span class="emphasis"><em>Fields</em></span> concept is deprecated and will be removed 36 in a future version. The information on this page is provided for historical 37 purposes only. 38 </p></td></tr> 39</table></div> 40<p> 41 An instance of <span class="bold"><strong>Fields</strong></span> is a container for 42 holding HTTP header fields and their values. The implementation also calls 43 upon the container to store the request target and non-standard strings for 44 method and obsolete reason phrase as needed. Types which meet these requirements 45 can always be serialized. 46 </p> 47<h5> 48<a name="beast.concepts.Fields.h0"></a> 49 <span class="phrase"><a name="beast.concepts.Fields.associated_types"></a></span><a class="link" href="Fields.html#beast.concepts.Fields.associated_types">Associated 50 Types</a> 51 </h5> 52<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 53<li class="listitem"> 54 <a class="link" href="../ref/boost__beast__http__is_fields.html" title="http::is_fields"><code class="computeroutput"><span class="identifier">is_fields</span></code></a> 55 </li> 56<li class="listitem"> 57 <a class="link" href="FieldsWriter.html" title="FieldsWriter"><span class="emphasis"><em>FieldsWriter</em></span></a> 58 </li> 59</ul></div> 60<h5> 61<a name="beast.concepts.Fields.h1"></a> 62 <span class="phrase"><a name="beast.concepts.Fields.requirements"></a></span><a class="link" href="Fields.html#beast.concepts.Fields.requirements">Requirements</a> 63 </h5> 64<p> 65 In this table: 66 </p> 67<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 68<li class="listitem"> 69 <code class="computeroutput"><span class="identifier">F</span></code> denotes a type that 70 meets the requirements of <span class="bold"><strong>Fields</strong></span>. 71 </li> 72<li class="listitem"> 73 <code class="computeroutput"><span class="identifier">W</span></code> denotes a type meeting 74 the requirements of <a class="link" href="FieldsWriter.html" title="FieldsWriter"><span class="emphasis"><em>FieldsWriter</em></span></a>. 75 </li> 76<li class="listitem"> 77 <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of 78 type <code class="computeroutput"><span class="identifier">F</span></code>. 79 </li> 80<li class="listitem"> 81 <code class="computeroutput"><span class="identifier">c</span></code> denotes a (possibly 82 const) value of type <code class="computeroutput"><span class="identifier">F</span></code>. 83 </li> 84<li class="listitem"> 85 <code class="computeroutput"><span class="identifier">b</span></code> is a value of type 86 <code class="computeroutput"><span class="keyword">bool</span></code> 87 </li> 88<li class="listitem"> 89 <code class="computeroutput"><span class="identifier">n</span></code> is a value of type 90 <code class="computeroutput"><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></code>. 91 </li> 92<li class="listitem"> 93 <code class="computeroutput"><span class="identifier">s</span></code> is a value of type 94 <a class="link" href="../ref/boost__beast__string_view.html" title="string_view"><code class="computeroutput"><span class="identifier">string_view</span></code></a>. 95 </li> 96<li class="listitem"> 97 <code class="computeroutput"><span class="identifier">v</span></code> is a value of type 98 <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span></code> 99 representing the HTTP-version. 100 </li> 101</ul></div> 102<div class="table"> 103<a name="beast.concepts.Fields.valid_expressions"></a><p class="title"><b>Table 1.41. Valid expressions</b></p> 104<div class="table-contents"><table class="table" summary="Valid expressions"> 105<colgroup> 106<col> 107<col> 108<col> 109</colgroup> 110<thead><tr> 111<th> 112 <p> 113 Expression 114 </p> 115 </th> 116<th> 117 <p> 118 Type 119 </p> 120 </th> 121<th> 122 <p> 123 Semantics, Pre/Post-conditions 124 </p> 125 </th> 126</tr></thead> 127<tbody> 128<tr> 129<td> 130 <p> 131 <code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">writer</span></code> 132 </p> 133 </td> 134<td> 135 <p> 136 <code class="computeroutput"><span class="identifier">W</span></code> 137 </p> 138 </td> 139<td> 140 <p> 141 A type which meets the requirements of <a class="link" href="FieldsWriter.html" title="FieldsWriter"><span class="emphasis"><em>FieldsWriter</em></span></a>. 142 </p> 143 </td> 144</tr> 145<tr> 146<td> 147 <p> 148 <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_method_impl</span><span class="special">()</span></code> 149 </p> 150 </td> 151<td> 152 <p> 153 <code class="computeroutput"><span class="identifier">string_view</span></code> 154 </p> 155 </td> 156<td> 157 <p> 158 Returns the method text. The implementation only calls this function 159 for request headers when retrieving the method text previously 160 set with a call to <code class="computeroutput"><span class="identifier">set_method_impl</span></code> 161 using a non-empty string. 162 </p> 163 </td> 164</tr> 165<tr> 166<td> 167 <p> 168 <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_target_impl</span><span class="special">()</span></code> 169 </p> 170 </td> 171<td> 172 <p> 173 <code class="computeroutput"><span class="identifier">string_view</span></code> 174 </p> 175 </td> 176<td> 177 <p> 178 Returns the target string. The implementation only calls this function 179 for request headers. 180 </p> 181 </td> 182</tr> 183<tr> 184<td> 185 <p> 186 <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_reason_impl</span><span class="special">()</span></code> 187 </p> 188 </td> 189<td> 190 <p> 191 <code class="computeroutput"><span class="identifier">string_view</span></code> 192 </p> 193 </td> 194<td> 195 <p> 196 Returns the obsolete request text. The implementation only calls 197 this for response headers when retrieving the reason text previously 198 set with a call to <code class="computeroutput"><span class="identifier">set_reason_impl</span></code> 199 using a non-empty string. 200 </p> 201 </td> 202</tr> 203<tr> 204<td> 205 <p> 206 <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_chunked_impl</span><span class="special">()</span></code> 207 </p> 208 </td> 209<td> 210 <p> 211 <code class="computeroutput"><span class="keyword">bool</span></code> 212 </p> 213 </td> 214<td> 215 <p> 216 Returns <code class="computeroutput"><span class="keyword">true</span></code> if the 217 <a href="https://tools.ietf.org/html/rfc7230#section-3.3.1" target="_top"><span class="bold"><strong>Transfer-Encoding</strong></span></a> field value indicates 218 that the payload is chunk encoded. Both of these conditions must 219 be true: 220 </p> 221 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 222<li class="listitem"> 223 The Transfer-Encoding field is present in the message. 224 </li> 225<li class="listitem"> 226 The last item in value of the field is "chunked". 227 </li> 228</ul></div> 229 </td> 230</tr> 231<tr> 232<td> 233 <p> 234 <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_keep_alive_impl</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span></code> 235 </p> 236 </td> 237<td> 238 <p> 239 <code class="computeroutput"><span class="keyword">bool</span></code> 240 </p> 241 </td> 242<td> 243 <p> 244 Returns <code class="computeroutput"><span class="keyword">true</span></code> if the 245 semantics of the <a href="https://tools.ietf.org/html/rfc7230#section-6.1" target="_top"><span class="bold"><strong>Connection</strong></span></a> field and version indicate 246 that the connection should remain open after the corresponding 247 response is transmitted or received: 248 </p> 249 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 250<li class="listitem"> 251 If <code class="computeroutput"><span class="special">(</span><span class="identifier">v</span> 252 <span class="special"><</span> <span class="number">11</span><span class="special">)</span></code> the function returns <code class="computeroutput"><span class="keyword">true</span></code> if the "keep-alive" 253 token is present in the Connection field value. Otherwise the 254 function returns <code class="computeroutput"><span class="keyword">false</span></code>. 255 </li> 256<li class="listitem"> 257 If <code class="computeroutput"><span class="special">(</span><span class="identifier">v</span> 258 <span class="special">==</span> <span class="number">11</span><span class="special">)</span></code>, the function returns <code class="computeroutput"><span class="keyword">false</span></code> if the "close" 259 token is present in the Connection field value. Otherwise the 260 function returns <code class="computeroutput"><span class="keyword">true</span></code>. 261 </li> 262</ul></div> 263 </td> 264</tr> 265<tr> 266<td> 267 <p> 268 <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">has_content_length</span><span class="special">()</span></code> 269 </p> 270 </td> 271<td> 272 <p> 273 <code class="computeroutput"><span class="keyword">bool</span></code> 274 </p> 275 </td> 276<td> 277 <p> 278 Returns <code class="computeroutput"><span class="keyword">true</span></code> if the 279 <a href="https://tools.ietf.org/html/rfc7230#section-3.3.2" target="_top"><span class="bold"><strong>Content-Length</strong></span></a> field is present. 280 </p> 281 </td> 282</tr> 283<tr> 284<td> 285 <p> 286 <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_method_impl</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> 287 </p> 288 </td> 289<td> 290 </td> 291<td> 292 <p> 293 Stores a copy of <code class="computeroutput"><span class="identifier">s</span></code> 294 as the method text, or erases the previously stored value if <code class="computeroutput"><span class="identifier">s</span></code> is empty. The implementation 295 only calls this function for request headers. This function may 296 throw <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span></code> if the operation 297 is not supported by the container. 298 </p> 299 </td> 300</tr> 301<tr> 302<td> 303 <p> 304 <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_target_impl</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> 305 </p> 306 </td> 307<td> 308 </td> 309<td> 310 <p> 311 Stores a copy of <code class="computeroutput"><span class="identifier">s</span></code> 312 as the target, or erases the previously stored value if <code class="computeroutput"><span class="identifier">s</span></code> is empty. The implementation 313 only calls this function for request headers. This function may 314 throw <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span></code> if the operation 315 is not supported by the container. 316 </p> 317 </td> 318</tr> 319<tr> 320<td> 321 <p> 322 <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_reason_impl</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code> 323 </p> 324 </td> 325<td> 326 </td> 327<td> 328 <p> 329 Stores a copy of <code class="computeroutput"><span class="identifier">s</span></code> 330 as the reason text, or erases the previously stored value of the 331 reason text if <code class="computeroutput"><span class="identifier">s</span></code> 332 is empty. The implementation only calls this function for request 333 headers. This function may throw <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">invalid_argument</span></code> 334 if the operation is not supported by the container. 335 </p> 336 </td> 337</tr> 338<tr> 339<td> 340 <p> 341 <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_chunked_impl</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code> 342 </p> 343 </td> 344<td> 345 </td> 346<td> 347 <p> 348 Adjusts the <a href="https://tools.ietf.org/html/rfc7230#section-3.3.1" target="_top"><span class="bold"><strong>Transfer-Encoding</strong></span></a> field value as 349 follows: 350 </p> 351 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 352<li class="listitem"> 353 If <code class="computeroutput"><span class="identifier">b</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>, the "chunked" 354 token is appended to the list of encodings if it does not already 355 appear last in the list. If the Transfer-Encoding field is 356 absent, the field will be inserted to the container with the 357 value "chunked". 358 </li> 359<li class="listitem"> 360 If <code class="computeroutput"><span class="identifier">b</span></code> is `false, 361 the "chunked" token is removed from the list of encodings 362 if it appears last in the list. If the result of the removal 363 leaves the list of encodings empty, the Transfer-Encoding field 364 shall not appear when the associated <a class="link" href="FieldsWriter.html" title="FieldsWriter"><span class="emphasis"><em>FieldsWriter</em></span></a> 365 serializes the fields. 366 </li> 367</ul></div> 368 <p> 369 If the result of adjusting the field value produces an empty string, 370 the field is removed from the container. 371 </p> 372 </td> 373</tr> 374<tr> 375<td> 376 <p> 377 <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_content_length_impl</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code> 378 </p> 379 </td> 380<td> 381 </td> 382<td> 383 <p> 384 Adjusts the <a href="https://tools.ietf.org/html/rfc7230#section-3.3.2" target="_top"><span class="bold"><strong>Content-Length</strong></span></a> field value as follows: 385 </p> 386 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 387<li class="listitem"> 388 If <code class="computeroutput"><span class="identifier">n</span></code> contains 389 a value, the Content-Length field will be set to the text representation 390 of the value. Any previous Content-Length fields are removed 391 from the container. 392 </li> 393<li class="listitem"> 394 If <code class="computeroutput"><span class="identifier">n</span></code> does not 395 contain a value, any present Content-Length fields are removed 396 from the container. 397 </li> 398</ul></div> 399 </td> 400</tr> 401<tr> 402<td> 403 <p> 404 <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_keep_alive_impl</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span><span class="identifier">b</span><span class="special">)</span></code> 405 </p> 406 </td> 407<td> 408 </td> 409<td> 410 <p> 411 Adjusts the <a href="https://tools.ietf.org/html/rfc7230#section-6.1" target="_top"><span class="bold"><strong>Connection</strong></span></a> field value depending 412 on the values of <code class="computeroutput"><span class="identifier">v</span></code> 413 and <code class="computeroutput"><span class="identifier">b</span></code>. The field 414 value is treated as <a href="https://tools.ietf.org/html/rfc7230#section-6.1" target="_top"><span class="emphasis"><em>connection-option</em></span></a> 415 (rfc7230). 416 </p> 417 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 418<li class="listitem"> 419 If <code class="computeroutput"><span class="special">(</span><span class="identifier">v</span> 420 <span class="special"><</span> <span class="number">11</span> 421 <span class="special">&&</span> <span class="identifier">b</span><span class="special">)</span></code>, then all "close" 422 tokens present in the value are removed, and the "keep-alive" 423 token is added to the value if it is not already present. 424 </li> 425<li class="listitem"> 426 If <code class="computeroutput"><span class="special">(</span><span class="identifier">v</span> 427 <span class="special"><</span> <span class="number">11</span> 428 <span class="special">&&</span> <span class="special">!</span> 429 <span class="identifier">b</span><span class="special">)</span></code>, 430 then all "close" and "keep-alive" tokens 431 present in the value are removed. 432 </li> 433<li class="listitem"> 434 If <code class="computeroutput"><span class="special">(</span><span class="identifier">v</span> 435 <span class="special">==</span> <span class="number">11</span> 436 <span class="special">&&</span> <span class="identifier">b</span><span class="special">)</span></code>, then all "keep-alive" 437 and "close" tokens present in the value are removed. 438 </li> 439<li class="listitem"> 440 If <code class="computeroutput"><span class="special">(</span><span class="identifier">v</span> 441 <span class="special">==</span> <span class="number">11</span> 442 <span class="special">&&</span> <span class="special">!</span> 443 <span class="identifier">b</span><span class="special">)</span></code>, 444 then all "keep-alive" tokens present in the value 445 are removed, and the "close" token is added to the 446 value if it is not already present. 447 </li> 448</ul></div> 449 <p> 450 If the result of adjusting the field value produces an empty string, 451 the field is removed from the container. 452 </p> 453 </td> 454</tr> 455</tbody> 456</table></div> 457</div> 458<br class="table-break"><h5> 459<a name="beast.concepts.Fields.h2"></a> 460 <span class="phrase"><a name="beast.concepts.Fields.exemplar"></a></span><a class="link" href="Fields.html#beast.concepts.Fields.exemplar">Exemplar</a> 461 </h5> 462<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">Fields</span> 463<span class="special">{</span> 464<span class="keyword">public</span><span class="special">:</span> 465 <span class="comment">/// Constructed as needed when fields are serialized</span> 466 <span class="keyword">struct</span> <span class="identifier">writer</span><span class="special">;</span> 467 468<span class="keyword">protected</span><span class="special">:</span> 469 <span class="comment">/** Returns the request-method string. 470 471 @note Only called for requests. 472 */</span> 473 <span class="identifier">string_view</span> 474 <span class="identifier">get_method_impl</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> 475 476 <span class="comment">/** Returns the request-target string. 477 478 @note Only called for requests. 479 */</span> 480 <span class="identifier">string_view</span> 481 <span class="identifier">get_target_impl</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> 482 483 <span class="comment">/** Returns the response reason-phrase string. 484 485 @note Only called for responses. 486 */</span> 487 <span class="identifier">string_view</span> 488 <span class="identifier">get_reason_impl</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> 489 490 <span class="comment">/** Returns the chunked Transfer-Encoding setting 491 */</span> 492 <span class="keyword">bool</span> 493 <span class="identifier">get_chunked_impl</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> 494 495 <span class="comment">/** Returns the keep-alive setting 496 */</span> 497 <span class="keyword">bool</span> 498 <span class="identifier">get_keep_alive_impl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">version</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 499 500 <span class="comment">/** Returns `true` if the Content-Length field is present. 501 */</span> 502 <span class="keyword">bool</span> 503 <span class="identifier">has_content_length_impl</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> 504 505 <span class="comment">/** Set or clear the method string. 506 507 @note Only called for requests. 508 */</span> 509 <span class="keyword">void</span> 510 <span class="identifier">set_method_impl</span><span class="special">(</span><span class="identifier">string_view</span> <span class="identifier">s</span><span class="special">);</span> 511 512 <span class="comment">/** Set or clear the target string. 513 514 @note Only called for requests. 515 */</span> 516 <span class="keyword">void</span> 517 <span class="identifier">set_target_impl</span><span class="special">(</span><span class="identifier">string_view</span> <span class="identifier">s</span><span class="special">);</span> 518 519 <span class="comment">/** Set or clear the reason string. 520 521 @note Only called for responses. 522 */</span> 523 <span class="keyword">void</span> 524 <span class="identifier">set_reason_impl</span><span class="special">(</span><span class="identifier">string_view</span> <span class="identifier">s</span><span class="special">);</span> 525 526 <span class="comment">/** Sets or clears the chunked Transfer-Encoding value 527 */</span> 528 <span class="keyword">void</span> 529 <span class="identifier">set_chunked_impl</span><span class="special">(</span><span class="keyword">bool</span> <span class="identifier">value</span><span class="special">);</span> 530 531 <span class="comment">/** Sets or clears the Content-Length field 532 */</span> 533 <span class="keyword">void</span> 534 <span class="identifier">set_content_length_impl</span><span class="special">(</span><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> 535 536 <span class="comment">/** Adjusts the Connection field 537 */</span> 538 <span class="keyword">void</span> 539 <span class="identifier">set_keep_alive_impl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">version</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">keep_alive</span><span class="special">);</span> 540<span class="special">};</span> 541 542<span class="keyword">static_assert</span><span class="special">(</span><span class="identifier">is_fields</span><span class="special"><</span><span class="identifier">Fields</span><span class="special">>::</span><span class="identifier">value</span><span class="special">,</span> 543 <span class="string">"Fields type requirements not met"</span><span class="special">);</span> 544</pre> 545<h5> 546<a name="beast.concepts.Fields.h3"></a> 547 <span class="phrase"><a name="beast.concepts.Fields.models"></a></span><a class="link" href="Fields.html#beast.concepts.Fields.models">Models</a> 548 </h5> 549<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 550<li class="listitem"> 551 <a class="link" href="../ref/boost__beast__http__basic_fields.html" title="http::basic_fields"><code class="computeroutput"><span class="identifier">basic_fields</span></code></a> 552 </li> 553<li class="listitem"> 554 <a class="link" href="../ref/boost__beast__http__fields.html" title="http::fields"><code class="computeroutput"><span class="identifier">fields</span></code></a> 555 </li> 556</ul></div> 557</div> 558<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 559<td align="left"></td> 560<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie 561 Falco<p> 562 Distributed under the Boost Software License, Version 1.0. (See accompanying 563 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>) 564 </p> 565</div></td> 566</tr></table> 567<hr> 568<div class="spirit-nav"> 569<a accesskey="p" href="DynamicBuffer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="FieldsWriter.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 570</div> 571</body> 572</html> 573