[−][src]Struct httparse::Request
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.
Methods
impl<'h, 'b> Request<'h, 'b>
[src]
impl<'h, 'b> Request<'h, 'b>
pub fn new(headers: &'h mut [Header<'b>]) -> Request<'h, 'b>
[src]
pub fn new(headers: &'h mut [Header<'b>]) -> Request<'h, 'b>
Creates a new Request, using a slice of headers you allocate.
pub fn parse(&mut self, buf: &'b [u8]) -> Result<usize>
[src]
pub fn parse(&mut self, buf: &'b [u8]) -> Result<usize>
Try to parse a buffer of bytes into the Request.
Trait Implementations
impl<'headers, 'buf: 'headers> PartialEq<Request<'headers, 'buf>> for Request<'headers, 'buf>
[src]
impl<'headers, 'buf: 'headers> PartialEq<Request<'headers, 'buf>> for Request<'headers, 'buf>
fn eq(&self, other: &Request<'headers, 'buf>) -> bool
[src]
fn eq(&self, other: &Request<'headers, 'buf>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Request<'headers, 'buf>) -> bool
[src]
fn ne(&self, other: &Request<'headers, 'buf>) -> bool
This method tests for !=
.
impl<'headers, 'buf: 'headers> Debug for Request<'headers, 'buf>
[src]
impl<'headers, 'buf: 'headers> Debug for Request<'headers, 'buf>
Auto Trait Implementations
impl<'headers, 'buf> Send for Request<'headers, 'buf>
impl<'headers, 'buf> Send for Request<'headers, 'buf>
impl<'headers, 'buf> Sync for Request<'headers, 'buf>
impl<'headers, 'buf> Sync for Request<'headers, 'buf>
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more