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§
Source§impl Request
 
impl Request
Sourcepub fn write_to_stream(self, stream: &mut impl Write) -> Result<()>
 
pub fn write_to_stream(self, stream: &mut impl Write) -> Result<()>
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.
Sourcepub fn read_from_stream(
    stream: &mut impl Read,
    body_len_limit: usize,
) -> Result<Request>
 
pub fn read_from_stream( stream: &mut impl Read, body_len_limit: usize, ) -> Result<Request>
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.