Trait viz_core::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
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 + 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<Request<Body>, (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 + 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<Request<Body>, (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 + 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<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::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 + 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<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::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 + 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<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::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 + Send + Sync + 'static, Fut: Future<Output = Result<Out>> + 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>> + 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::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 + 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<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::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 + 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<Request<Body>, (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 + Send + Sync + 'static, Fut: Future<Output = Result<Out>> + 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::Error: IntoResponse + Send, K::Error: IntoResponse + Send, L::Error: IntoResponse + Send, Fun: Fn(J, K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out>> + 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::Error: IntoResponse + Send, L::Error: IntoResponse + Send, Fun: Fn(K, L) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<Out>> + Send,

§

type Output = <Fut as Future>::Output

source§

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

§

type Output = <Fut as Future>::Output