pub struct Request {
    pub header: RequestHeader,
    pub body: RequestBody,
    pub auth: RequestAuth,
}
Expand description

Representation of the request wire format.

Fields

header: RequestHeader

Request header

body: RequestBody

Request body consists of RequestBody object holding a collection of bytes. Interpretation of said bytes is deferred to the a converter which can handle the content_type defined in the header.

auth: RequestAuth

Auth field is stored as a RequestAuth object. A parser that can handle the auth_type specified in the header is needed to authenticate the request.

Implementations

Serialise request and write it to given stream.

Request header is first converted to its raw format before serialization.

Errors
  • if an IO operation fails while writing any of the subfields of the request, ResponseStatus::ConnectionError is returned.
  • if encoding any of the fields in the header fails, ResponseStatus::InvalidEncoding is returned.

Deserialise request from given stream.

Request header is parsed from its raw form, ensuring that all fields are valid. The body_len_limit parameter allows the interface client to reject requests that are longer than a predefined limit. The length limit is in bytes.

Errors
  • if reading any of the subfields (header, body or auth) fails, the corresponding ResponseStatus will be returned.
  • if the request body size specified in the header is larger than the limit passed as a parameter, BodySizeExceedsLimit will be returned.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.