pub struct HttpRequest<'a, S: Read> { /* private fields */ }
Expand description
Handles request routing and JSON deserialization.
Implementations§
Source§impl<'a, S: Read> HttpRequest<'a, S>
impl<'a, S: Read> HttpRequest<'a, S>
Sourcepub fn new(stream: S, buf: &'a mut [u8]) -> HttpResult<Self>
pub fn new(stream: S, buf: &'a mut [u8]) -> HttpResult<Self>
Create a new HttpRequest
over the given stream, backed by the given buffer.
The buffer is recommended to hold at least 8000 bytes.
Sourcepub fn route<'b, R>(&'b mut self) -> HttpResult<(HttpVersion, Method, R)>
pub fn route<'b, R>(&'b mut self) -> HttpResult<(HttpVersion, Method, R)>
Try to extract a version, method, and route.
Sourcepub fn read_json<D: Deserialize>(&mut self) -> HttpResult<D>
pub fn read_json<D: Deserialize>(&mut self) -> HttpResult<D>
Try to deserialize a JSON payload from the request body.
Sourcepub fn into_stream(self) -> S
pub fn into_stream(self) -> S
Consume the object and extract the underlying stream.
Auto Trait Implementations§
impl<'a, S> Freeze for HttpRequest<'a, S>where
S: Freeze,
impl<'a, S> RefUnwindSafe for HttpRequest<'a, S>where
S: RefUnwindSafe,
impl<'a, S> Send for HttpRequest<'a, S>where
S: Send,
impl<'a, S> Sync for HttpRequest<'a, S>where
S: Sync,
impl<'a, S> Unpin for HttpRequest<'a, S>where
S: Unpin,
impl<'a, S> !UnwindSafe for HttpRequest<'a, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more