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.