[][src]Struct httparse::Request

pub struct Request<'headers, 'buf: 'headers> {
    pub method: Option<&'buf str>,
    pub path: Option<&'buf str>,
    pub version: Option<u8>,
    pub headers: &'headers mut [Header<'buf>],
}

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

The request method, such as GET.

The request path, such as /about-us.

The request version, such as HTTP/1.1.

The request headers.

Methods

impl<'h, 'b> Request<'h, 'b>
[src]

Creates a new Request, using a slice of headers you allocate.

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]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'headers, 'buf: 'headers> Debug for Request<'headers, 'buf>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'headers, 'buf> Send 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]

Performs the conversion.

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 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