pub struct Response {
pub header: ResponseHeader,
pub body: ResponseBody,
}
Expand description
Native representation of the response wire format.
Fields
header: ResponseHeader
Header of the response, containing the response status.
body: ResponseBody
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.
Implementations
sourceimpl Response
impl Response
sourcepub fn from_request_header(
header: RequestHeader,
status: ResponseStatus
) -> Response
pub fn from_request_header(
header: RequestHeader,
status: ResponseStatus
) -> Response
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.
sourcepub fn from_status(status: ResponseStatus) -> Response
pub fn from_status(status: ResponseStatus) -> Response
Create an empty response with a specific status.
sourcepub fn write_to_stream(self, stream: &mut impl Write) -> Result<()>
pub fn write_to_stream(self, stream: &mut impl Write) -> Result<()>
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.
sourcepub fn read_from_stream(
stream: &mut impl Read,
body_len_limit: usize
) -> Result<Response>
pub fn read_from_stream(
stream: &mut impl Read,
body_len_limit: usize
) -> Result<Response>
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,
BodySizeExceedsLimit
will be returned.
Trait Implementations
sourceimpl PartialEq<Response> for Response
impl PartialEq<Response> for Response
impl Eq for Response
impl StructuralEq for Response
impl StructuralPartialEq for Response
Auto Trait Implementations
impl RefUnwindSafe for Response
impl Send for Response
impl Sync for Response
impl Unpin for Response
impl UnwindSafe for Response
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more