en	Body

en	A [*Body] type is supplied as a template argument to the __message__ class. It controls both the type of the data member of the resulting message object, and the algorithms used during parsing and serialization.

en	Associated Types

en	* [link beast.ref.boost__beast__http__is_body `is_body`] * __BodyReader__ * __BodyWriter__

en	Requirements

en	In this table:

en	* `B` is a type meeting the requirements of [*Body]. * `m` is a value of type `message<b,B,F>` where `b` is a `bool` value

en	Valid expressions

en	Expression

en	Type

en	Semantics, Pre/Post-conditions

en	`B::value_type`

en	The return type of the `message::body` member function. If this is not movable or not copyable, the containing message will be not movable or not copyable.

en	`B::reader`

en	If present, indicates that the body can be parsed. The type must meet the requirements of __BodyReader__. The implementation constructs an object of this type to obtain buffers into which parsed body octets are placed.

en	`B::writer`

en	If present, indicates that the body is serializable. The type must meet the requirements of __BodyWriter__. The implementation constructs an object of this type to obtain buffers representing the message body for serialization.

en	B::size( B::value_type body)

en	`std::uint64_t`

en	This static member function is optional. It returns the payload size of `body` in bytes not including any chunked transfer encoding. The return value may be zero, to indicate that the message is known to have no payload. The function shall not exit via an exception. When this function is present: * The function shall not fail * A call to [link beast.ref.boost__beast__http__message.payload_size `message::payload_size`] will return the same value as `size`. * A call to [link beast.ref.boost__beast__http__message.prepare_payload `message::prepare_payload`] will remove "chunked" from the Transfer-Encoding field if it appears as the last encoding, and will set the Content-Length field to the returned value. Otherwise, when the function is omitted: * A call to [link beast.ref.boost__beast__http__message.payload_size `message::payload_size`] will return `boost::none`. * A call to [link beast.ref.boost__beast__http__message.prepare_payload `message::prepare_payload`] will erase the Content-Length field, and add "chunked" as the last encoding in the Transfer-Encoding field if it is not already present.

en	Exemplar

en	Models

en	* [link beast.ref.boost__beast__http__basic_dynamic_body `basic_dynamic_body`] * [link beast.ref.boost__beast__http__basic_file_body `basic_file_body`] * [link beast.ref.boost__beast__http__basic_string_body `basic_string_body`] * [link beast.ref.boost__beast__http__buffer_body `buffer_body`] * [link beast.ref.boost__beast__http__empty_body `empty_body`] * [link beast.ref.boost__beast__http__span_body `span_body`] * [link beast.ref.boost__beast__http__vector_body `vector_body`]