Trait viz_core::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.

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<(A, B, C, D, E, F, G, H, I, J, K, L)> for Fun
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, 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,

§

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

§

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

§

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 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::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,

§

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 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::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,

§

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

§

type Output = <Fut as Future>::Output

source§

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

§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

impl<J, K, L, Fun, Fut, Out> FnExt<(J, K, L)> for Fun
where J: FromRequest + Send, K: FromRequest + Send, L: FromRequest + Send, 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,

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output