#[non_exhaustive]pub struct Request<'conn> {
pub method: Method,
pub authority: String,
pub path: String,
pub raw_query: String,
pub body: Box<dyn Read + 'conn>,
pub headers: Headers,
pub path_values: BTreeMap<String, String>,
pub cookies: Vec<(String, String)>,
pub ip: SocketAddr,
pub shutdown: Signal,
}Expand description
An incoming http request
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.method: MethodThe request method
The authority portion of the url
path: StringThe url path
raw_query: StringThe query string
Use Request::parse_query to parse it
body: Box<dyn Read + 'conn>The request body
headers: HeadersThe request headers
path_values: BTreeMap<String, String>The values of the matched path patterns from PathRouter.
Can also be used to store arbitrary values for downstream http handlers
Cookie pairs present on this request.
ip: SocketAddrThe address of the HTTP client
shutdown: SignalA signal that the server is shutting down.
Request handlers that perform long running tasks should periodically use this to check if a server is requesting a shutdown.
Implementations§
Source§impl Request<'_>
impl Request<'_>
Sourcepub fn parse_query(&self) -> UrlEncodedParams
pub fn parse_query(&self) -> UrlEncodedParams
Returns the parsed query string
Sourcepub fn parse_form_body(&mut self) -> Result<UrlEncodedParams>
pub fn parse_form_body(&mut self) -> Result<UrlEncodedParams>
Attempts to parse the body as application/x-www-form-urlencoded
This function consumes the body stream.
Auto Trait Implementations§
impl<'conn> Freeze for Request<'conn>
impl<'conn> !RefUnwindSafe for Request<'conn>
impl<'conn> !Send for Request<'conn>
impl<'conn> !Sync for Request<'conn>
impl<'conn> Unpin for Request<'conn>
impl<'conn> !UnwindSafe for Request<'conn>
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