pub trait FromRequest: Sized {
type Error: IntoResponse;
// Required method
fn extract(
req: &mut Request,
) -> impl Future<Output = Result<Self, Self::Error>> + Send;
}Expand description
An interface for extracting data from the HTTP Request.
Required Associated Types§
Sourcetype Error: IntoResponse
type Error: IntoResponse
The type returned in the event of a conversion error.
Required Methods§
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 ()
impl FromRequest for ()
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 + Send,
B: FromRequest + Send,
C: FromRequest + Send,
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
A::Error: IntoResponse + Send,
B::Error: IntoResponse + Send,
C::Error: IntoResponse + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + 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 + Send,
B: FromRequest + Send,
C: FromRequest + Send,
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
A::Error: IntoResponse + Send,
B::Error: IntoResponse + Send,
C::Error: IntoResponse + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<B, C, D, E, F, G, H, I, J, K, L> FromRequest for (B, C, D, E, F, G, H, I, J, K, L)where
B: FromRequest + Send,
C: FromRequest + Send,
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
B::Error: IntoResponse + Send,
C::Error: IntoResponse + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<B, C, D, E, F, G, H, I, J, K, L> FromRequest for (B, C, D, E, F, G, H, I, J, K, L)where
B: FromRequest + Send,
C: FromRequest + Send,
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
B::Error: IntoResponse + Send,
C::Error: IntoResponse + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<C, D, E, F, G, H, I, J, K, L> FromRequest for (C, D, E, F, G, H, I, J, K, L)where
C: FromRequest + Send,
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
C::Error: IntoResponse + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<C, D, E, F, G, H, I, J, K, L> FromRequest for (C, D, E, F, G, H, I, J, K, L)where
C: FromRequest + Send,
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
C::Error: IntoResponse + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<D, E, F, G, H, I, J, K, L> FromRequest for (D, E, F, G, H, I, J, K, L)where
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<D, E, F, G, H, I, J, K, L> FromRequest for (D, E, F, G, H, I, J, K, L)where
D: FromRequest + Send,
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
D::Error: IntoResponse + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<E, F, G, H, I, J, K, L> FromRequest for (E, F, G, H, I, J, K, L)where
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<E, F, G, H, I, J, K, L> FromRequest for (E, F, G, H, I, J, K, L)where
E: FromRequest + Send,
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
E::Error: IntoResponse + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<F, G, H, I, J, K, L> FromRequest for (F, G, H, I, J, K, L)where
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<F, G, H, I, J, K, L> FromRequest for (F, G, H, I, J, K, L)where
F: FromRequest + Send,
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
F::Error: IntoResponse + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<G, H, I, J, K, L> FromRequest for (G, H, I, J, K, L)where
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<G, H, I, J, K, L> FromRequest for (G, H, I, J, K, L)where
G: FromRequest + Send,
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
G::Error: IntoResponse + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<H, I, J, K, L> FromRequest for (H, I, J, K, L)where
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<H, I, J, K, L> FromRequest for (H, I, J, K, L)where
H: FromRequest + Send,
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
H::Error: IntoResponse + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<I, J, K, L> FromRequest for (I, J, K, L)where
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<I, J, K, L> FromRequest for (I, J, K, L)where
I: FromRequest + Send,
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
I::Error: IntoResponse + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<J, K, L> FromRequest for (J, K, L)where
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<J, K, L> FromRequest for (J, K, L)where
J: FromRequest + Send,
K: FromRequest + Send,
L: FromRequest + Send,
J::Error: IntoResponse + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<K, L> FromRequest for (K, L)where
K: FromRequest + Send,
L: FromRequest + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
impl<K, L> FromRequest for (K, L)where
K: FromRequest + Send,
L: FromRequest + Send,
K::Error: IntoResponse + Send,
L::Error: IntoResponse + Send,
Source§impl<L> FromRequest for (L,)
impl<L> FromRequest for (L,)
Source§impl<T> FromRequest for Option<T>where
T: FromRequest,
impl<T> FromRequest for Option<T>where
T: FromRequest,
Source§impl<T> FromRequest for Result<T, T::Error>where
T: FromRequest,
impl<T> FromRequest for Result<T, T::Error>where
T: FromRequest,
Implementors§
Source§impl FromRequest for Cookies
Available on crate feature cookie only.
impl FromRequest for Cookies
Available on crate feature
cookie only.type Error = CookiesError
Source§impl FromRequest for Limits
Available on crate feature limits only.
impl FromRequest for Limits
Available on crate feature
limits only.type Error = Infallible
Source§impl FromRequest for Session
Available on crate feature session only.
impl FromRequest for Session
Available on crate feature
session only.type Error = Infallible
Source§impl FromRequest for WebSocket
Available on crate feature websocket only.
impl FromRequest for WebSocket
Available on crate feature
websocket only.type Error = WebSocketError
Source§impl FromRequest for Multipart
Available on crate feature multipart only.
impl FromRequest for Multipart
Available on crate feature
multipart only.type Error = PayloadError
Source§impl<T> FromRequest for Form<T>where
T: DeserializeOwned,
Available on crate feature form only.
impl<T> FromRequest for Form<T>where
T: DeserializeOwned,
Available on crate feature
form only.type Error = PayloadError
Source§impl<T> FromRequest for Header<T>where
T: Header,
impl<T> FromRequest for Header<T>where
T: Header,
type Error = HeaderError
Source§impl<T> FromRequest for Json<T>where
T: DeserializeOwned,
Available on crate feature json only.
impl<T> FromRequest for Json<T>where
T: DeserializeOwned,
Available on crate feature
json only.type Error = PayloadError
Source§impl<T> FromRequest for Params<T>where
T: DeserializeOwned,
Available on crate feature params only.
impl<T> FromRequest for Params<T>where
T: DeserializeOwned,
Available on crate feature
params only.type Error = ParamsError
Source§impl<T> FromRequest for Query<T>where
T: DeserializeOwned,
Available on crate feature query only.
impl<T> FromRequest for Query<T>where
T: DeserializeOwned,
Available on crate feature
query only.