Struct parsec_interface::requests::request::Request [−][src]
pub struct Request {
pub header: RequestHeader,
pub body: RequestBody,
pub auth: RequestAuth,
}Expand description
Representation of the request wire format.
Fields
header: RequestHeaderRequest header
body: RequestBodyRequest 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: RequestAuthAuth 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::ConnectionErroris returned. - if encoding any of the fields in the header fails,
ResponseStatus::InvalidEncodingis 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
ResponseStatuswill be returned. - if the request body size specified in the header is larger than the limit passed as
a parameter,
BodySizeExceedsLimitwill be returned.