pub trait FromRequestParts<S>: Sized {
type Rejection: IntoResponse;
// Required method
fn from_request_parts(
parts: &mut Parts,
state: &S,
) -> impl Future<Output = Result<Self, Self::Rejection>> + Send;
}Expand description
Types that can be created from request parts.
Extractors that implement FromRequestParts cannot consume the request body and can thus be
run in any order for handlers.
If your extractor needs to consume the request body then you should implement FromRequest
and not FromRequestParts.
See axum::extract for more general docs about extractors.
Required Associated Types§
Sourcetype Rejection: IntoResponse
type Rejection: IntoResponse
If the extractor fails it’ll use this “rejection” type. A rejection is a kind of error that can be converted into a response.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<S, E1, E2, E3, E4, E5, E6, E7, E8> FromRequestParts<S> for Either8<E1, E2, E3, E4, E5, E6, E7, E8>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
E6: FromRequestParts<S>,
E7: FromRequestParts<S>,
E8: FromRequestParts<S>,
S: Send + Sync,
impl<S, E1, E2, E3, E4, E5, E6, E7, E8> FromRequestParts<S> for Either8<E1, E2, E3, E4, E5, E6, E7, E8>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
E6: FromRequestParts<S>,
E7: FromRequestParts<S>,
E8: FromRequestParts<S>,
S: Send + Sync,
type Rejection = <E8 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either8<E1, E2, E3, E4, E5, E6, E7, E8>, <Either8<E1, E2, E3, E4, E5, E6, E7, E8> as FromRequestParts<S>>::Rejection>
Source§impl<S, E1, E2, E3, E4, E5, E6, E7> FromRequestParts<S> for Either7<E1, E2, E3, E4, E5, E6, E7>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
E6: FromRequestParts<S>,
E7: FromRequestParts<S>,
S: Send + Sync,
impl<S, E1, E2, E3, E4, E5, E6, E7> FromRequestParts<S> for Either7<E1, E2, E3, E4, E5, E6, E7>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
E6: FromRequestParts<S>,
E7: FromRequestParts<S>,
S: Send + Sync,
type Rejection = <E7 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either7<E1, E2, E3, E4, E5, E6, E7>, <Either7<E1, E2, E3, E4, E5, E6, E7> as FromRequestParts<S>>::Rejection>
Source§impl<S, E1, E2, E3, E4, E5, E6> FromRequestParts<S> for Either6<E1, E2, E3, E4, E5, E6>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
E6: FromRequestParts<S>,
S: Send + Sync,
impl<S, E1, E2, E3, E4, E5, E6> FromRequestParts<S> for Either6<E1, E2, E3, E4, E5, E6>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
E6: FromRequestParts<S>,
S: Send + Sync,
type Rejection = <E6 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either6<E1, E2, E3, E4, E5, E6>, <Either6<E1, E2, E3, E4, E5, E6> as FromRequestParts<S>>::Rejection>
Source§impl<S, E1, E2, E3, E4, E5> FromRequestParts<S> for Either5<E1, E2, E3, E4, E5>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
S: Send + Sync,
impl<S, E1, E2, E3, E4, E5> FromRequestParts<S> for Either5<E1, E2, E3, E4, E5>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
E5: FromRequestParts<S>,
S: Send + Sync,
type Rejection = <E5 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either5<E1, E2, E3, E4, E5>, <Either5<E1, E2, E3, E4, E5> as FromRequestParts<S>>::Rejection>
Source§impl<S, E1, E2, E3, E4> FromRequestParts<S> for Either4<E1, E2, E3, E4>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
S: Send + Sync,
impl<S, E1, E2, E3, E4> FromRequestParts<S> for Either4<E1, E2, E3, E4>where
E1: FromRequestParts<S>,
E2: FromRequestParts<S>,
E3: FromRequestParts<S>,
E4: FromRequestParts<S>,
S: Send + Sync,
type Rejection = <E4 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either4<E1, E2, E3, E4>, <Either4<E1, E2, E3, E4> as FromRequestParts<S>>::Rejection>
Source§impl<S, E1, E2, E3> FromRequestParts<S> for Either3<E1, E2, E3>
impl<S, E1, E2, E3> FromRequestParts<S> for Either3<E1, E2, E3>
type Rejection = <E3 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either3<E1, E2, E3>, <Either3<E1, E2, E3> as FromRequestParts<S>>::Rejection>
Source§impl<S, E1, E2> FromRequestParts<S> for Either<E1, E2>
impl<S, E1, E2> FromRequestParts<S> for Either<E1, E2>
type Rejection = <E2 as FromRequestParts<S>>::Rejection
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Either<E1, E2>, <Either<E1, E2> as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
T14: FromRequestParts<S> + Send,
T15: FromRequestParts<S> + Send,
T16: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
T14: FromRequestParts<S> + Send,
T15: FromRequestParts<S> + Send,
T16: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
T14: FromRequestParts<S> + Send,
T15: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
T14: FromRequestParts<S> + Send,
T15: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
T14: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
T14: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
T13: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
T12: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
T11: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
T10: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), <(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
T9: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8, T9), <(T1, T2, T3, T4, T5, T6, T7, T8, T9) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7, T8> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7, T8> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7, T8)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
T8: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7, T8), <(T1, T2, T3, T4, T5, T6, T7, T8) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6, T7> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6, T7> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6, T7)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
T7: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6, T7), <(T1, T2, T3, T4, T5, T6, T7) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5, T6> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5, T6> FromRequestParts<S> for (T1, T2, T3, T4, T5, T6)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
T6: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5, T6), <(T1, T2, T3, T4, T5, T6) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4, T5> FromRequestParts<S> for (T1, T2, T3, T4, T5)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4, T5> FromRequestParts<S> for (T1, T2, T3, T4, T5)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
T5: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4, T5), <(T1, T2, T3, T4, T5) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3, T4> FromRequestParts<S> for (T1, T2, T3, T4)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3, T4> FromRequestParts<S> for (T1, T2, T3, T4)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
T4: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3, T4), <(T1, T2, T3, T4) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2, T3> FromRequestParts<S> for (T1, T2, T3)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
S: Send + Sync,
impl<S, T1, T2, T3> FromRequestParts<S> for (T1, T2, T3)where
T1: FromRequestParts<S> + Send,
T2: FromRequestParts<S> + Send,
T3: FromRequestParts<S> + Send,
S: Send + Sync,
type Rejection = Response<Body>
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<(T1, T2, T3), <(T1, T2, T3) as FromRequestParts<S>>::Rejection>
Source§impl<S, T1, T2> FromRequestParts<S> for (T1, T2)
impl<S, T1, T2> FromRequestParts<S> for (T1, T2)
Source§impl<S, T1> FromRequestParts<S> for (T1,)
impl<S, T1> FromRequestParts<S> for (T1,)
Source§impl<S, T> FromRequestParts<S> for Option<T>
impl<S, T> FromRequestParts<S> for Option<T>
Source§impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
type Rejection = Infallible
async fn from_request_parts( parts: &mut Parts, state: &S, ) -> Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>
Source§impl<S> FromRequestParts<S> for ()
impl<S> FromRequestParts<S> for ()
type Rejection = Infallible
async fn from_request_parts( _: &mut Parts, _: &S, ) -> Result<(), <() as FromRequestParts<S>>::Rejection>
Source§impl<S> FromRequestParts<S> for Extensions
impl<S> FromRequestParts<S> for Extensions
type Rejection = Infallible
async fn from_request_parts( parts: &mut Parts, _state: &S, ) -> Result<Extensions, <Extensions as FromRequestParts<S>>::Rejection>
Source§impl<S> FromRequestParts<S> for HeaderMap
Clone the headers from the request.
impl<S> FromRequestParts<S> for HeaderMap
Clone the headers from the request.
Prefer using TypedHeader to extract only the headers you need.