pub trait FromRequest: Send {
type Output<'r>: Send;
type Error: Responder + Send;
// Required method
fn from_request<'r>(
req: &'r RequestContext<'_, '_>,
body: OptionReqBody,
) -> impl Future<Output = Result<Self::Output<'r>, Self::Error>> + Send;
}
Required Associated Types§
Required Methods§
fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> impl Future<Output = Result<Self::Output<'r>, Self::Error>> + Send
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl FromRequest for &HeaderMap
Extracts a reference to the header map
impl FromRequest for &HeaderMap
Extracts a reference to the header map
This extractor provides borrowed access to all HTTP headers.
type Output<'r> = &'r HeaderMap
type Error = ParseError
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, _body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl FromRequest for &Method
Extracts a reference to the HTTP method
impl FromRequest for &Method
Extracts a reference to the HTTP method
This extractor borrows the request method, avoiding cloning.
type Output<'r> = &'r Method
type Error = ParseError
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, _body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl FromRequest for &RequestHeader
Extracts a reference to the raw request header
impl FromRequest for &RequestHeader
Extracts a reference to the raw request header
Provides access to the underlying HTTP request header structure.
type Output<'r> = &'r RequestHeader
type Error = ParseError
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, _body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl FromRequest for ()
impl FromRequest for ()
type Output<'r> = ()
type Error = Infallible
async fn from_request<'r>( _req: &'r RequestContext<'_, '_>, _body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl FromRequest for String
Extracts UTF-8 string from request body
impl FromRequest for String
Extracts UTF-8 string from request body
type Output<'any> = String
type Error = ParseError
async fn from_request( req: &RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'static>, Self::Error>
Source§impl FromRequest for Bytes
Extracts raw bytes from request body
impl FromRequest for Bytes
Extracts raw bytes from request body
type Output<'any> = Bytes
type Error = ParseError
async fn from_request( _req: &RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'static>, Self::Error>
Source§impl FromRequest for HeaderMap
Extracts the header map by value
impl FromRequest for HeaderMap
Extracts the header map by value
This extractor clones and takes ownership of all HTTP headers.
type Output<'any> = HeaderMap
type Error = ParseError
async fn from_request( req: &RequestContext<'_, '_>, _body: OptionReqBody, ) -> Result<Self::Output<'static>, Self::Error>
Source§impl FromRequest for Method
Extracts the HTTP method by value
impl FromRequest for Method
Extracts the HTTP method by value
This extractor takes ownership of the request method.
type Output<'any> = Method
type Error = ParseError
async fn from_request( req: &RequestContext<'_, '_>, _body: OptionReqBody, ) -> Result<Self::Output<'static>, Self::Error>
Source§impl<A> FromRequest for (A,)
impl<A> FromRequest for (A,)
type Output<'r> = (<A as FromRequest>::Output<'r>,)
type Error = EitherA<<A as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B> FromRequest for (A, B)where
A: FromRequest,
B: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
impl<A, B> FromRequest for (A, B)where
A: FromRequest,
B: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>)
type Error = EitherAB<<A as FromRequest>::Error, <B as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C> FromRequest for (A, B, C)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
impl<A, B, C> FromRequest for (A, B, C)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>)
type Error = EitherABC<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D> FromRequest for (A, B, C, D)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
impl<A, B, C, D> FromRequest for (A, B, C, D)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>)
type Error = EitherABCD<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E> FromRequest for (A, B, C, D, E)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
impl<A, B, C, D, E> FromRequest for (A, B, C, D, E)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>)
type Error = EitherABCDE<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F> FromRequest for (A, B, C, D, E, F)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
impl<A, B, C, D, E, F> FromRequest for (A, B, C, D, E, F)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>)
type Error = EitherABCDEF<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F, G> FromRequest for (A, B, C, D, E, F, G)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
impl<A, B, C, D, E, F, G> FromRequest for (A, B, C, D, E, F, G)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>, <G as FromRequest>::Output<'r>)
type Error = EitherABCDEFG<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error, <G as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F, G, H> FromRequest for (A, B, C, D, E, F, G, H)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
impl<A, B, C, D, E, F, G, H> FromRequest for (A, B, C, D, E, F, G, H)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>, <G as FromRequest>::Output<'r>, <H as FromRequest>::Output<'r>)
type Error = EitherABCDEFGH<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error, <G as FromRequest>::Error, <H as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F, G, H, I> FromRequest for (A, B, C, D, E, F, G, H, I)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
impl<A, B, C, D, E, F, G, H, I> FromRequest for (A, B, C, D, E, F, G, H, I)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>, <G as FromRequest>::Output<'r>, <H as FromRequest>::Output<'r>, <I as FromRequest>::Output<'r>)
type Error = EitherABCDEFGHI<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error, <G as FromRequest>::Error, <H as FromRequest>::Error, <I as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F, G, H, I, J> FromRequest for (A, B, C, D, E, F, G, H, I, J)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
J: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
for<'any> J::Output<'any>: Send,
impl<A, B, C, D, E, F, G, H, I, J> FromRequest for (A, B, C, D, E, F, G, H, I, J)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
J: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
for<'any> J::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>, <G as FromRequest>::Output<'r>, <H as FromRequest>::Output<'r>, <I as FromRequest>::Output<'r>, <J as FromRequest>::Output<'r>)
type Error = EitherABCDEFGHIJ<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error, <G as FromRequest>::Error, <H as FromRequest>::Error, <I as FromRequest>::Error, <J as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F, G, H, I, J, K> FromRequest for (A, B, C, D, E, F, G, H, I, J, K)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
J: FromRequest,
K: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
for<'any> J::Output<'any>: Send,
for<'any> K::Output<'any>: Send,
impl<A, B, C, D, E, F, G, H, I, J, K> FromRequest for (A, B, C, D, E, F, G, H, I, J, K)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
J: FromRequest,
K: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
for<'any> J::Output<'any>: Send,
for<'any> K::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>, <G as FromRequest>::Output<'r>, <H as FromRequest>::Output<'r>, <I as FromRequest>::Output<'r>, <J as FromRequest>::Output<'r>, <K as FromRequest>::Output<'r>)
type Error = EitherABCDEFGHIJK<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error, <G as FromRequest>::Error, <H as FromRequest>::Error, <I as FromRequest>::Error, <J as FromRequest>::Error, <K as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L> FromRequest for (A, B, C, D, E, F, G, H, I, J, K, L)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
J: FromRequest,
K: FromRequest,
L: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
for<'any> J::Output<'any>: Send,
for<'any> K::Output<'any>: Send,
for<'any> L::Output<'any>: Send,
impl<A, B, C, D, E, F, G, H, I, J, K, L> FromRequest for (A, B, C, D, E, F, G, H, I, J, K, L)where
A: FromRequest,
B: FromRequest,
C: FromRequest,
D: FromRequest,
E: FromRequest,
F: FromRequest,
G: FromRequest,
H: FromRequest,
I: FromRequest,
J: FromRequest,
K: FromRequest,
L: FromRequest,
for<'any> A::Output<'any>: Send,
for<'any> B::Output<'any>: Send,
for<'any> C::Output<'any>: Send,
for<'any> D::Output<'any>: Send,
for<'any> E::Output<'any>: Send,
for<'any> F::Output<'any>: Send,
for<'any> G::Output<'any>: Send,
for<'any> H::Output<'any>: Send,
for<'any> I::Output<'any>: Send,
for<'any> J::Output<'any>: Send,
for<'any> K::Output<'any>: Send,
for<'any> L::Output<'any>: Send,
type Output<'r> = (<A as FromRequest>::Output<'r>, <B as FromRequest>::Output<'r>, <C as FromRequest>::Output<'r>, <D as FromRequest>::Output<'r>, <E as FromRequest>::Output<'r>, <F as FromRequest>::Output<'r>, <G as FromRequest>::Output<'r>, <H as FromRequest>::Output<'r>, <I as FromRequest>::Output<'r>, <J as FromRequest>::Output<'r>, <K as FromRequest>::Output<'r>, <L as FromRequest>::Output<'r>)
type Error = EitherABCDEFGHIJKL<<A as FromRequest>::Error, <B as FromRequest>::Error, <C as FromRequest>::Error, <D as FromRequest>::Error, <E as FromRequest>::Error, <F as FromRequest>::Error, <G as FromRequest>::Error, <H as FromRequest>::Error, <I as FromRequest>::Error, <J as FromRequest>::Error, <K as FromRequest>::Error, <L as FromRequest>::Error>
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<T: FromRequest> FromRequest for Option<T>
impl<T: FromRequest> FromRequest for Option<T>
type Output<'r> = Option<<T as FromRequest>::Output<'r>>
type Error = <T as FromRequest>::Error
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Source§impl<T: FromRequest> FromRequest for Result<T, T::Error>
impl<T: FromRequest> FromRequest for Result<T, T::Error>
type Output<'r> = Result<<T as FromRequest>::Output<'r>, <T as FromRequest>::Error>
type Error = <T as FromRequest>::Error
async fn from_request<'r>( req: &'r RequestContext<'_, '_>, body: OptionReqBody, ) -> Result<Self::Output<'r>, Self::Error>
Implementors§
Source§impl FromRequest for &PathParams<'_, '_>
Implements path parameter extraction for referenced PathParams
impl FromRequest for &PathParams<'_, '_>
Implements path parameter extraction for referenced PathParams
This implementation is similar to the owned version but works with references to PathParams. It allows handlers to receive path parameters as references directly from the request context.
type Output<'r> = &'r PathParams<'r, 'r>
type Error = ParseError
Source§impl<T> FromRequest for Form<T>where
T: for<'de> Deserialize<'de> + Send,
Extracts form data from request body
impl<T> FromRequest for Form<T>where
T: for<'de> Deserialize<'de> + Send,
Extracts form data from request body
This implementation expects the request body to be URL-encoded form data
and deserializes it into the target type using serde_urlencoded
.
Source§impl<T> FromRequest for Json<T>where
T: for<'de> Deserialize<'de> + Send,
Extracts JSON data from request body
impl<T> FromRequest for Json<T>where
T: for<'de> Deserialize<'de> + Send,
Extracts JSON data from request body
This implementation expects the request body to be valid JSON
and deserializes it into the target type using serde_json
.
Source§impl<T> FromRequest for Query<T>where
T: for<'de> Deserialize<'de> + Send,
Implements query string extraction for any type that implements Deserialize
impl<T> FromRequest for Query<T>where
T: for<'de> Deserialize<'de> + Send,
Implements query string extraction for any type that implements Deserialize
This implementation allows automatic deserialization of query string parameters into a strongly-typed struct using serde_qs.