Trait viz_core::handler::FnExt

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

    // Required method
    fn call<'life0, 'async_trait>(
        &'life0 self,
        req: Request
    ) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
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<'life0, 'async_trait>( &'life0 self, req: Request ) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Performs the call operation.

Implementors§

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, Fun, Fut, Out> FnExt<(A, B, C, D, E, F, G, H, I, J, K, L)> for Funwhere A: FromRequest + Send + 'static, B: FromRequest + Send + 'static, C: FromRequest + Send + 'static, D: FromRequest + Send + 'static, E: FromRequest + Send + 'static, F: FromRequest + Send + 'static, G: FromRequest + Send + 'static, H: FromRequest + Send + 'static, I: FromRequest + Send + 'static, J: FromRequest + Send + 'static, K: FromRequest + Send + 'static, L: FromRequest + Send + 'static, 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, Fun: Fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<Out>> + Send, Out: Send + Sync + 'static,

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

impl<Fun, Fut, Out> FnExt<()> for Funwhere Fun: Fn() -> Fut + Clone + Send + Sync + 'static, Fut: Future<Output = Result<Out>> + Send, Out: Send + Sync + 'static,

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output