| Home | Libraries | People | FAQ | More

#### http::message

A container for a complete HTTP message.

##### Synopsis

Defined in header `<boost/beast/http/message.hpp>`

    template<
        bool isRequest,
        class Body,
        class Fields = fields>
    class message :
        public http::header< isRequest, fields >

##### Types

Name | Description
--- | ---
allocator_type | The type of allocator used.
body_type | The type providing the body traits.
const_iterator | A constant iterator to the field sequence.
fields_type | The type representing the fields.
header_type | The base class used to hold the header portion of the message.
is_request | Indicates if the header is a request or response.
iterator | A constant iterator to the field sequence.
key_compare | A strictly less predicate for comparing keys, using a case-insensitive comparison.
writer | The algorithm used to serialize the header.

##### Member Functions

Name | Description
--- | ---
at | Returns the value for a field, or throws an exception.
base | Returns the header portion of the message.
begin | Return a const iterator to the beginning of the field sequence.
body | Returns the body.
cbegin | Return a const iterator to the beginning of the field sequence.
cend | Return a const iterator to the end of the field sequence.
chunked | Returns `true` if the chunked Transfer-Encoding is specified. — Set or clear the chunked Transfer-Encoding.
clear | Remove all fields from the container.
contains | Returns `true` if there is a field with the specified name.
content_length | Set or clear the Content-Length field.
count | Return the number of fields with the specified name.
end | Return a const iterator to the end of the field sequence.
equal_range | Returns a range of iterators to the fields with the specified name. — Returns a range of iterators to the fields with the specified name.
erase | Remove a field. — Remove all fields with the specified name.
find | Returns an iterator to the case-insensitive matching field. — Returns an iterator to the case-insensitive matching field name.
get_allocator | Return a copy of the allocator associated with the container.
has_content_length | Returns `true` if the Content-Length field is present.
insert | Insert a field. —
keep_alive | Returns `true` if the message semantics indicate keep-alive. — Set the keep-alive message semantic option.
key_comp | Returns a copy of the key comparison function.
message [constructor] | Constructor. — Construct a message.
method | Return the request-method verb.
method_string | Return the request-method as a string.
need_eof | Returns `true` if the message semantics require an end of file.
operator= | Assignment.
operator[] | Returns the value for a field, or `""` if it does not exist. — Returns the value for a case-insensitive matching header, or `""` if it does not exist.
payload_size | Returns the payload size of the body in octets if possible.
prepare_payload | Prepare the message payload fields for the body.
reason | Return the response reason-phrase.
result | The response status-code result.
result_int | The response status-code expressed as an integer.
set | Set a field value, removing any other instances of that field. —
swap | Return a buffer sequence representing the trailers.
target | Returns the request-target string.
version | Return the HTTP-version.

##### Protected Member Functions

Name | Description
--- | ---
get_chunked_impl | Returns the chunked Transfer-Encoding setting.
get_keep_alive_impl | Returns the keep-alive setting.
get_method_impl | Returns the request-method string.
get_reason_impl | Returns the response reason-phrase string.
get_target_impl | Returns the request-target string.
has_content_length_impl | Returns `true` if the Content-Length field is present.
set_chunked_impl | Adjusts the chunked Transfer-Encoding value.
set_content_length_impl | Sets or clears the Content-Length field.
set_keep_alive_impl | Adjusts the Connection field.
set_method_impl | Set or clear the method string.
set_reason_impl | Set or clear the reason string.
set_target_impl | Set or clear the target string.

##### Static Members

Name | Description
--- | ---
max_name_size | Maximum field name size.
max_value_size | Maximum field value size.

##### Description

This container is derived from the `Fields` template type. To understand all of the members of this class it is necessary to view the declaration for the `Fields` type. When using the default fields container, those declarations are in `fields`.

A message can be a request or response, depending on the `isRequest` template argument value. Requests and responses have different types; functions may be overloaded based on the type if desired.

The `Body` template argument type determines the model used to read or write the content body of the message.

Newly constructed messages objects have version set to HTTP/1.1. Newly constructed response objects also have result code set to `status::ok`.

##### Template Parameters

Type | Description
--- | ---
`isRequest` | `true` if this represents a request, or `false` if this represents a response. Some class data members are conditionally present depending on this value.
`Body` | A type meeting the requirements of Body.
`Fields` | The type of container used to hold the field value pairs.