Trait viz::FnExt

source ·
pub trait FnExt<I, E>: Send + Sync + 'static {
    type Output;

    // Required method
    fn call(&self, i: I) -> impl Future<Output = Self::Output> + Send;
}
Expand description

A handler with extractors.

Required Associated Types§

source

type Output

The returned type after the call operator is used.

Required Methods§

source

fn call(&self, i: I) -> impl Future<Output = Self::Output> + Send

Performs the call operation.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (A, B, C, D, E, F, G, H, I, J, K, L)> for Fun

§

type Output = <Fut as Future>::Output

source§

impl<B, C, D, E, F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (B, C, D, E, F, G, H, I, J, K, L)> for Fun

§

type Output = <Fut as Future>::Output

source§

impl<C, D, E, F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (C, D, E, F, G, H, I, J, K, L)> for Fun

§

type Output = <Fut as Future>::Output

source§

impl<D, E, F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (D, E, F, G, H, I, J, K, L)> for Fun
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 as FromRequest>::Error: IntoResponse + Send, <E as FromRequest>::Error: IntoResponse + Send, <F as FromRequest>::Error: IntoResponse + Send, <G as FromRequest>::Error: IntoResponse + Send, <H as FromRequest>::Error: IntoResponse + Send, <I as FromRequest>::Error: IntoResponse + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(D, E, F, G, H, I, J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<E, F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (E, F, G, H, I, J, K, L)> for Fun
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 as FromRequest>::Error: IntoResponse + Send, <F as FromRequest>::Error: IntoResponse + Send, <G as FromRequest>::Error: IntoResponse + Send, <H as FromRequest>::Error: IntoResponse + Send, <I as FromRequest>::Error: IntoResponse + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(E, F, G, H, I, J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (F, G, H, I, J, K, L)> for Fun
where F: FromRequest + Send, G: FromRequest + Send, H: FromRequest + Send, I: FromRequest + Send, J: FromRequest + Send, K: FromRequest + Send, L: FromRequest + Send, <F as FromRequest>::Error: IntoResponse + Send, <G as FromRequest>::Error: IntoResponse + Send, <H as FromRequest>::Error: IntoResponse + Send, <I as FromRequest>::Error: IntoResponse + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(F, G, H, I, J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<Fun, Fut, Out> FnExt<Request<Body>, ()> for Fun
where Fun: Fn() -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<G, H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (G, H, I, J, K, L)> for Fun
where G: FromRequest + Send, H: FromRequest + Send, I: FromRequest + Send, J: FromRequest + Send, K: FromRequest + Send, L: FromRequest + Send, <G as FromRequest>::Error: IntoResponse + Send, <H as FromRequest>::Error: IntoResponse + Send, <I as FromRequest>::Error: IntoResponse + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(G, H, I, J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<H, I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (H, I, J, K, L)> for Fun
where H: FromRequest + Send, I: FromRequest + Send, J: FromRequest + Send, K: FromRequest + Send, L: FromRequest + Send, <H as FromRequest>::Error: IntoResponse + Send, <I as FromRequest>::Error: IntoResponse + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(H, I, J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<I, J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (I, J, K, L)> for Fun
where I: FromRequest + Send, J: FromRequest + Send, K: FromRequest + Send, L: FromRequest + Send, <I as FromRequest>::Error: IntoResponse + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(I, J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<J, K, L, Fun, Fut, Out> FnExt<Request<Body>, (J, K, L)> for Fun
where J: FromRequest + Send, K: FromRequest + Send, L: FromRequest + Send, <J as FromRequest>::Error: IntoResponse + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<K, L, Fun, Fut, Out> FnExt<Request<Body>, (K, L)> for Fun
where K: FromRequest + Send, L: FromRequest + Send, <K as FromRequest>::Error: IntoResponse + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output

source§

impl<L, Fun, Fut, Out> FnExt<Request<Body>, (L,)> for Fun
where L: FromRequest + Send, <L as FromRequest>::Error: IntoResponse + Send, Fun: Fn(L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out, Error>> + Send,

§

type Output = <Fut as Future>::Output