[][src]Struct parsec_interface::requests::response::Response

pub struct Response {
    pub header: ResponseHeader,
    pub body: ResponseBody,
}

Native representation of the response wire format.

Response body consists of an opaque vector of bytes. Interpretation of said bytes is deferred to the a converter which can handle the content_type defined in the header.

Fields

header: ResponseHeaderbody: ResponseBody

Methods

impl Response[src]

pub fn from_request_header(
    header: RequestHeader,
    status: ResponseStatus
) -> Response
[src]

Convert request into an error response with a given ResponseStatus.

The relevant fields in the header are preserved and an empty body is provided by default.

pub fn from_status(status: ResponseStatus) -> Response[src]

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

Serialise response and write it to given stream.

Header is converted to a raw format before serializing.

Errors

  • if writing any of the subfields (header or body) fails, then ResponseStatus::ConnectionError is returned.
  • if encoding any of the fields in the header fails, then ResponseStatus::InvalidEncoding is returned.

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

Deserialise response from given stream.

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 or body) 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, RequestBodyExceedsLimit will be returned.

Trait Implementations

impl Debug for Response[src]

impl PartialEq<Response> for Response[src]

impl StructuralPartialEq for Response[src]

Auto Trait Implementations

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.