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

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 minor version, such as 1 for HTTP/1.1.

headers: &'headers mut [Header<'buf>]

The request headers.

Implementations

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

Try to parse a buffer of bytes into the Request, except use an uninitialized slice of Headers.

For more information, see parse

Try to parse a buffer of bytes into the Request.

Returns byte offset in buf to start of HTTP body.

Trait Implementations

Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.