Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

http::request_serializer

A serializer for HTTP/1 requests.

Synopsis

Defined in header <boost/beast/http/serializer.hpp>

template<
    class Body,
    class Fields = fields>
using request_serializer = serializer< true, Body, Fields >;
Types

Name

Description

value_type

The type of message this serializer uses.

Member Functions

Name

Description

consume

Consume buffer octets in the serialization.

get

Returns the message being serialized.

is_done

Return true if serialization is complete.

is_header_done

Return true if serialization of the header is complete.

limit

Returns the serialized buffer size limit.

Set the serialized buffer size limit.

next

Returns the next set of buffers in the serialization.

operator=

Assignment.

serializer

Move Constructor.

Copy Constructor.

Constructor.

split

Returns true if we will pause after writing the complete header.

Set whether the header and body are written separately.

writer_impl

Provides low-level access to the associated BodyWriter

An object of this type is used to serialize a complete HTTP message into a sequence of octets. To use this class, construct an instance with the message to be serialized. The implementation will automatically perform chunk encoding if the contents of the message indicate that chunk encoding is required.

Chunked output produced by the serializer never contains chunk extensions or trailers, and the location of chunk boundaries is not specified. If callers require chunk extensions, trailers, or control over the exact contents of each chunk they should use the serializer to write just the message header, and then assume control over serializing the chunked payload by using the chunk buffer sequence types chunk_body, chunk_crlf, chunk_header, and chunk_last.

Remarks

Moving or copying the serializer after the first call to serializer::next results in undefined behavior. Try to heap-allocate the serializer object if you need to move the serializer between multiple async operations (for example, between a call to async_write_header and async_write).

Template Parameters

Type

Description

isRequest

true if the message is a request.

Body

The body type of the message.

Fields

The type of fields in the message.


PrevUpHomeNext