Struct highnoon::request::Request [−][src]
An incoming request
Implementations
impl<S: State> Request<S>
[src]
pub fn state(&self) -> &S
[src]
Get a reference to the App's state
pub fn context(&self) -> &S::Context
[src]
Get a reference to the request's context
pub fn context_mut(&mut self) -> &mut S::Context
[src]
Get a mut reference to the request's context
pub fn method(&self) -> &Method
[src]
Get the HTTP method being used by this request
pub fn uri(&self) -> &Uri
[src]
Get the URI that was used for this request
pub fn query<T: DeserializeOwned>(&self) -> Result<T>
[src]
Parse the URI query string into an instance of T
that derives Deserialize
.
(To get the raw query string access it via req.uri().query()
).
If there is no query string, deserialize an empty string.
pub fn header<T: Header>(&self) -> Option<T>
[src]
Get a typed header from the request
(See also headers
)
pub fn headers(&self) -> &HeaderMap<HeaderValue>
[src]
Get all headers as a HeaderMap
pub fn cookies(&self) -> Result<CookieJar>
[src]
Get the request's cookies
pub fn param(&self, param: &str) -> Result<&str>
[src]
Get a route parameter (eg. :key
or *key
segments in the URI path)
If the parameter is not present, logs an error and returns a 400 Bad Request
to the client
pub fn params(&self) -> &Params
[src]
Get all route parameters
pub async fn body_mut(&mut self) -> Result<&mut Body>
[src]
Get the request body as a hyper::Body
pub async fn reader(&mut self) -> Result<impl Read + '_>
[src]
Get a reader to read the request body
(This does buffer the whole body into memory, but not necessarily contiguous memory).
If you need to protect against malicious clients you should access the body via body_mut
pub async fn body_bytes(&mut self) -> Result<Vec<u8>>
[src]
Get the request body as raw bytes in a Vec<u8>
pub async fn body_string(&mut self) -> Result<String>
[src]
Get the request body as UTF-8 data in String
pub async fn body_json<T: DeserializeOwned>(&mut self) -> Result<T>
[src]
Get the request body as JSON and deserialize into T
.
If deserialization fails, log an error and return 400 Bad Request
.
(If this logic is not appropriate, consider using reader
and using serde_json
directly)
pub fn remote_addr(&self) -> &SocketAddr
[src]
Get the address of the remote peer.
This method uses the network level address only and hence may be incorrect if you are
behind a proxy. (This does not check for any Forwarded
headers etc...)
Trait Implementations
impl<S> HasSession for Request<S> where
S: State,
S::Context: HasSession,
[src]
S: State,
S::Context: HasSession,
Implement HasSession on requests where the Context has sessions
Auto Trait Implementations
impl<S> !RefUnwindSafe for Request<S>
impl<S> Send for Request<S>
impl<S> Sync for Request<S>
impl<S> Unpin for Request<S> where
<S as State>::Context: Unpin,
<S as State>::Context: Unpin,
impl<S> !UnwindSafe for Request<S>
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> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,