Struct httparse::Request [−][src]
A parsed Request.
The optional values will be None
if a parse was not complete, and did not
parse the associated property. This allows you to inspect the parts that
could be parsed, before reading more, in case you wish to exit early.
Example
let buf = b"GET /404 HTTP/1.1\r\nHost:"; let mut headers = [httparse::EMPTY_HEADER; 16]; let mut req = httparse::Request::new(&mut headers); let res = req.parse(buf).unwrap(); if res.is_partial() { match req.path { Some(ref path) => { // check router for path. // /404 doesn't exist? we could stop parsing }, None => { // must read more and parse again } } }
Fields
method: Option<&'buf str>
The request method, such as GET
.
path: Option<&'buf str>
The request path, such as /about-us
.
version: Option<u8>
The request version, such as HTTP/1.1
.
headers: &'headers mut [Header<'buf>]
The request headers.
Implementations
impl<'h, 'b> Request<'h, 'b>
[src]
pub fn new(headers: &'h mut [Header<'b>]) -> Request<'h, 'b>
[src]
Creates a new Request, using a slice of headers you allocate.
pub fn parse(&mut self, buf: &'b [u8]) -> Result<usize>
[src]
Try to parse a buffer of bytes into the Request.
Returns byte offset in buf
to start of HTTP body.
Trait Implementations
impl<'headers, 'buf: 'headers> Debug for Request<'headers, 'buf>
[src]
impl<'headers, 'buf: 'headers> Eq for Request<'headers, 'buf>
[src]
impl<'headers, 'buf: 'headers> PartialEq<Request<'headers, 'buf>> for Request<'headers, 'buf>
[src]
fn eq(&self, other: &Request<'headers, 'buf>) -> bool
[src]
fn ne(&self, other: &Request<'headers, 'buf>) -> bool
[src]
impl<'headers, 'buf: 'headers> StructuralEq for Request<'headers, 'buf>
[src]
impl<'headers, 'buf: 'headers> StructuralPartialEq for Request<'headers, 'buf>
[src]
Auto Trait Implementations
impl<'headers, 'buf> RefUnwindSafe for Request<'headers, 'buf>
impl<'headers, 'buf> Send for Request<'headers, 'buf>
impl<'headers, 'buf> Sync for Request<'headers, 'buf>
impl<'headers, 'buf> Unpin for Request<'headers, 'buf> where
'buf: 'headers,
'buf: 'headers,
impl<'headers, 'buf> !UnwindSafe for Request<'headers, 'buf>
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,
pub 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.
pub 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>,