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
sourceimpl 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.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnwindSafe for Request
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more