Trait xitca_web::handler::FromRequest

source ·
pub trait FromRequest<'a, Req>: Sized {
    type Type<'b>: FromRequest<'b, Req, Error = Self::Error>;
    type Error;

    // Required method
    fn from_request(
        req: &'a Req,
    ) -> impl Future<Output = Result<Self, Self::Error>>;
}
Expand description

Extract type from Req asynchronously and receive them with function passed to handler_service.

'a is the lifetime of the extracted type.

When Req is also a borrowed type, the lifetimes of Req type and of the extracted type should be kept separate. See example below of extracting &str from &String:

§Examples


// new type for implementing FromRequest trait to &str.
struct Str<'a>(&'a str);

// borrowed Req type has a named lifetime of it self while trait implementor has the same lifetime
// from FromRequest's lifetime param.
impl<'a, 'r> FromRequest<'a, &'r String> for Str<'a> {
    type Type<'b> = Str<'b>; // use GAT lifetime to output a named lifetime instance of implementor.
    type Error = ();

    async fn from_request(req: &'a &'r String) -> Result<Self, Self::Error> {
        Ok(Str(req))
    }
}

let input = &String::from("996");
let extract = Str::from_request(&input).await.unwrap();
assert_eq!(extract.0, input.as_str());

Required Associated Types§

source

type Type<'b>: FromRequest<'b, Req, Error = Self::Error>

source

type Error

Required Methods§

source

fn from_request(req: &'a Req) -> impl Future<Output = Result<Self, Self::Error>>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for &'a SocketAddr

§

type Type<'b> = &'b SocketAddr

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for SocketAddr

§

type Type<'b> = SocketAddr

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for ()

§

type Type<'b> = ()

§

type Error = Error<C>

source§

async fn from_request(_: &'a WebContext<'r, C, B>) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for String
where B: BodyStream + Default,

§

type Type<'b> = String

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for Vec<u8>
where B: BodyStream + Default,

§

type Type<'b> = Vec<u8>

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for Option<T>
where T: FromRequest<'a, WebContext<'r, C, B>>,

§

type Type<'b> = Option<<T as FromRequest<'a, WebContext<'r, C, B>>>::Type<'b>>

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B, T, E> FromRequest<'a, WebContext<'r, C, B>> for Result<T, E>
where T: FromRequest<'a, WebContext<'r, C, B>, Error = E>,

§

type Type<'b> = Result<<T as FromRequest<'a, WebContext<'r, C, B>>>::Type<'b>, <T as FromRequest<'a, WebContext<'r, C, B>>>::Error>

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for (Bytes, Limit<LIMIT>)
where B: BodyStream + Default,

§

type Type<'b> = (Bytes, Limit<LIMIT>)

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for (BytesMut, Limit<LIMIT>)
where B: BodyStream + Default,

§

type Type<'b> = (BytesMut, Limit<LIMIT>)

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, 'r, C, B, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for (Vec<u8>, Limit<LIMIT>)
where B: BodyStream + Default,

§

type Type<'b> = (Vec<u8>, Limit<LIMIT>)

§

type Error = Error<C>

source§

async fn from_request( ctx: &'a WebContext<'r, C, B>, ) -> Result<Self, Self::Error>

source§

impl<'a, B> FromRequest<'a, Request<RequestExt<B>>> for &'a SocketAddr

§

type Type<'b> = &'b SocketAddr

§

type Error = Infallible

source§

async fn from_request( req: &'a Request<RequestExt<B>>, ) -> Result<&'a SocketAddr, <&'a SocketAddr as FromRequest<'a, Request<RequestExt<B>>>>::Error>

source§

impl<'a, Req, A> FromRequest<'a, Req> for (A,)
where A: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>,)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A,), <(A,) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B> FromRequest<'a, Req> for (A, B)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B), <(A, B) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C> FromRequest<'a, Req> for (A, B, C)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C), <(A, B, C) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C, D> FromRequest<'a, Req> for (A, B, C, D)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error> + From<<D as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>, D: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>, <D as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C, D), <(A, B, C, D) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C, D, E> FromRequest<'a, Req> for (A, B, C, D, E)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error> + From<<D as FromRequest<'a, Req>>::Error> + From<<E as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>, D: FromRequest<'a, Req>, E: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>, <D as FromRequest<'a, Req>>::Type<'r>, <E as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C, D, E), <(A, B, C, D, E) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C, D, E, F> FromRequest<'a, Req> for (A, B, C, D, E, F)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error> + From<<D as FromRequest<'a, Req>>::Error> + From<<E as FromRequest<'a, Req>>::Error> + From<<F as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>, D: FromRequest<'a, Req>, E: FromRequest<'a, Req>, F: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>, <D as FromRequest<'a, Req>>::Type<'r>, <E as FromRequest<'a, Req>>::Type<'r>, <F as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C, D, E, F), <(A, B, C, D, E, F) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C, D, E, F, G> FromRequest<'a, Req> for (A, B, C, D, E, F, G)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error> + From<<D as FromRequest<'a, Req>>::Error> + From<<E as FromRequest<'a, Req>>::Error> + From<<F as FromRequest<'a, Req>>::Error> + From<<G as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>, D: FromRequest<'a, Req>, E: FromRequest<'a, Req>, F: FromRequest<'a, Req>, G: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>, <D as FromRequest<'a, Req>>::Type<'r>, <E as FromRequest<'a, Req>>::Type<'r>, <F as FromRequest<'a, Req>>::Type<'r>, <G as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C, D, E, F, G), <(A, B, C, D, E, F, G) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C, D, E, F, G, H> FromRequest<'a, Req> for (A, B, C, D, E, F, G, H)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error> + From<<D as FromRequest<'a, Req>>::Error> + From<<E as FromRequest<'a, Req>>::Error> + From<<F as FromRequest<'a, Req>>::Error> + From<<G as FromRequest<'a, Req>>::Error> + From<<H as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>, D: FromRequest<'a, Req>, E: FromRequest<'a, Req>, F: FromRequest<'a, Req>, G: FromRequest<'a, Req>, H: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>, <D as FromRequest<'a, Req>>::Type<'r>, <E as FromRequest<'a, Req>>::Type<'r>, <F as FromRequest<'a, Req>>::Type<'r>, <G as FromRequest<'a, Req>>::Type<'r>, <H as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C, D, E, F, G, H), <(A, B, C, D, E, F, G, H) as FromRequest<'a, Req>>::Error>

source§

impl<'a, Req, A, B, C, D, E, F, G, H, I> FromRequest<'a, Req> for (A, B, C, D, E, F, G, H, I)
where A: FromRequest<'a, Req>, B: FromRequest<'a, Req>, <A as FromRequest<'a, Req>>::Error: From<<B as FromRequest<'a, Req>>::Error> + From<<C as FromRequest<'a, Req>>::Error> + From<<D as FromRequest<'a, Req>>::Error> + From<<E as FromRequest<'a, Req>>::Error> + From<<F as FromRequest<'a, Req>>::Error> + From<<G as FromRequest<'a, Req>>::Error> + From<<H as FromRequest<'a, Req>>::Error> + From<<I as FromRequest<'a, Req>>::Error>, C: FromRequest<'a, Req>, D: FromRequest<'a, Req>, E: FromRequest<'a, Req>, F: FromRequest<'a, Req>, G: FromRequest<'a, Req>, H: FromRequest<'a, Req>, I: FromRequest<'a, Req>,

§

type Type<'r> = (<A as FromRequest<'a, Req>>::Type<'r>, <B as FromRequest<'a, Req>>::Type<'r>, <C as FromRequest<'a, Req>>::Type<'r>, <D as FromRequest<'a, Req>>::Type<'r>, <E as FromRequest<'a, Req>>::Type<'r>, <F as FromRequest<'a, Req>>::Type<'r>, <G as FromRequest<'a, Req>>::Type<'r>, <H as FromRequest<'a, Req>>::Type<'r>, <I as FromRequest<'a, Req>>::Type<'r>)

§

type Error = <A as FromRequest<'a, Req>>::Error

source§

async fn from_request( req: &'a Req, ) -> Result<(A, B, C, D, E, F, G, H, I), <(A, B, C, D, E, F, G, H, I) as FromRequest<'a, Req>>::Error>

Implementors§

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for &'a Method

§

type Type<'b> = &'b Method

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for &'a RequestExt<()>

§

type Type<'b> = &'b RequestExt<()>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for &'a Uri

§

type Type<'b> = &'b Uri

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for &'a WebContext<'a, C, B>
where C: 'static, B: 'static,

§

type Type<'b> = &'b WebContext<'b, C, B>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for &'a WebRequest<()>

§

type Type<'b> = &'b Request<RequestExt<()>>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for Bytes
where B: BodyStream + Default,

§

type Type<'b> = Bytes

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for BytesMut
where B: BodyStream + Default,

§

type Type<'b> = BytesMut

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for Method

§

type Type<'b> = Method

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for RequestExt<()>

§

type Type<'b> = RequestExt<()>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for Uri

§

type Type<'b> = Uri

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for Body<B>
where B: BodyStream + Default,

§

type Type<'b> = Body<B>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for ExtensionKey

§

type Type<'b> = ExtensionKey

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for StateKey
where C: Borrow<Self>,

§

type Type<'b> = StateKey

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for ExtensionsRef<'a>

§

type Type<'b> = ExtensionsRef<'b>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for ParamsRef<'a>

§

type Type<'b> = ParamsRef<'b>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for PathOwn

§

type Type<'b> = PathOwn

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for PathRef<'a>

§

type Type<'b> = PathRef<'b>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for UriOwn

§

type Type<'b> = UriOwn

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for UriRef<'a>

§

type Type<'b> = UriRef<'b>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for WebSocket<B>
where C: 'static, B: BodyStream + Default + 'static,

§

type Type<'b> = WebSocket<B>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for WebRequest<()>

§

type Type<'b> = Request<RequestExt<()>>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B> FromRequest<'a, WebContext<'r, C, B>> for Multipart<B>
where B: BodyStream + Default,

§

type Type<'b> = Multipart<B>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, K> FromRequest<'a, WebContext<'r, C, B>> for CookieJar<K>
where K: for<'a2, 'r2> FromRequest<'a2, WebContext<'r2, C, B>, Error = Error<C>>,

§

type Type<'b> = CookieJar<K>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, K> FromRequest<'a, WebContext<'r, C, B>> for Private<K>
where K: for<'a2, 'r2> FromRequest<'a2, WebContext<'r2, C, B>, Error = Error<C>> + Into<Key>,

§

type Type<'b> = Private<K>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, K> FromRequest<'a, WebContext<'r, C, B>> for Signed<K>
where K: for<'a2, 'r2> FromRequest<'a2, WebContext<'r2, C, B>, Error = Error<C>> + Into<Key>,

§

type Type<'b> = Signed<K>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for ExtensionOwn<T>
where T: Send + Sync + Clone + 'static,

§

type Type<'b> = ExtensionOwn<T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for ExtensionRef<'a, T>
where T: Send + Sync + 'static,

§

type Type<'b> = ExtensionRef<'b, T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for LazyParams<'a, T>

§

type Type<'b> = LazyParams<'b, T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for LazyQuery<'a, T>
where T: Deserialize<'static>,

§

type Type<'b> = LazyQuery<'b, T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for Query<T>
where T: for<'de> Deserialize<'de>,

§

type Type<'b> = Query<T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for StateOwn<T>
where C: BorrowState<T>, T: Clone,

§

type Type<'b> = StateOwn<T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T> FromRequest<'a, WebContext<'r, C, B>> for StateRef<'a, T>
where C: BorrowState<T>, T: ?Sized + 'static,

§

type Type<'b> = StateRef<'b, T>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for Form<T, LIMIT>
where B: BodyStream + Default, T: for<'de> Deserialize<'de>,

§

type Type<'b> = Form<T, LIMIT>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for LazyForm<T, LIMIT>
where B: BodyStream + Default, T: Deserialize<'static>,

§

type Type<'b> = LazyForm<T, LIMIT>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for Json<T, LIMIT>
where B: BodyStream + Default, T: for<'de> Deserialize<'de>,

§

type Type<'b> = Json<T, LIMIT>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, T, const LIMIT: usize> FromRequest<'a, WebContext<'r, C, B>> for LazyJson<T, LIMIT>
where B: BodyStream + Default, T: Deserialize<'static>,

§

type Type<'b> = LazyJson<T, LIMIT>

§

type Error = Error<C>

source§

impl<'a, 'r, C, B, const HEADER_NAME: usize> FromRequest<'a, WebContext<'r, C, B>> for HeaderRef<'a, HEADER_NAME>

§

type Type<'b> = HeaderRef<'b, HEADER_NAME>

§

type Error = Error<C>

source§

impl<'a, 'r, T, C, B> FromRequest<'a, WebContext<'r, C, B>> for Params<T>
where T: for<'de> Deserialize<'de>,

§

type Type<'b> = Params<T>

§

type Error = Error<C>

source§

impl<'a, Ext> FromRequest<'a, Request<Ext>> for &'a Request<Ext>
where Ext: 'static,

§

type Type<'b> = &'b Request<Ext>

§

type Error = Infallible

source§

impl<'a, Ext> FromRequest<'a, Request<Ext>> for &'a Extensions

§

type Type<'b> = &'b Extensions

§

type Error = Infallible

source§

impl<'a, Ext> FromRequest<'a, Request<Ext>> for &'a HeaderMap

§

type Type<'b> = &'b HeaderMap

§

type Error = Infallible

source§

impl<'a, Ext> FromRequest<'a, Request<Ext>> for &'a Method

§

type Type<'b> = &'b Method

§

type Error = Infallible

source§

impl<'a, Ext> FromRequest<'a, Request<Ext>> for &'a Uri

§

type Type<'b> = &'b Uri

§

type Error = Infallible