[][src]Struct parsec_interface::requests::request::Request

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

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

impl Request[src]

pub fn write_to_stream(self, stream: &mut impl Write) -> Result<()>[src]

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.

pub fn read_from_stream(
    stream: &mut impl Read,
    body_len_limit: usize
) -> Result<Request>
[src]

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

impl Debug for Request[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.