[−][src]Struct parsec_interface::requests::request::Request
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]
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
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
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,