Trait EndpointServiceFn

pub trait EndpointServiceFn<T>:
    Sealed<T>
    + Clone
    + Send
    + Sync
    + 'static { }
Expand description

rama_core::Service implemented for functions taking extractors.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl<F, R, O> EndpointServiceFn<(F, R, O, (), Context)> for F
where F: Fn(Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static,

§

impl<F, R, O> EndpointServiceFn<(F, R, O)> for F
where F: Fn() -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static,

§

impl<F, R, O, I> EndpointServiceFn<(F, R, O, (), (), I)> for F
where F: Fn(I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, I: FromRequest,

§

impl<F, R, O, I> EndpointServiceFn<(F, R, O, (), Context, I)> for F
where F: Fn(Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, I: FromRequest,

§

impl<F, R, O, T1> EndpointServiceFn<(F, R, O, (T1,))> for F
where F: Fn(T1) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair,

§

impl<F, R, O, T1> EndpointServiceFn<(F, R, O, (T1,), Context)> for F
where F: Fn(T1, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair,

§

impl<F, R, O, T1, I> EndpointServiceFn<(F, R, O, (T1,), (), I)> for F
where F: Fn(T1, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, I> EndpointServiceFn<(F, R, O, (T1,), Context, I)> for F
where F: Fn(T1, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2> EndpointServiceFn<(F, R, O, (T1, T2))> for F
where F: Fn(T1, T2) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2> EndpointServiceFn<(F, R, O, (T1, T2), Context)> for F
where F: Fn(T1, T2, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, I> EndpointServiceFn<(F, R, O, (T1, T2), (), I)> for F
where F: Fn(T1, T2, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, I> EndpointServiceFn<(F, R, O, (T1, T2), Context, I)> for F
where F: Fn(T1, T2, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3> EndpointServiceFn<(F, R, O, (T1, T2, T3))> for F
where F: Fn(T1, T2, T3) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3> EndpointServiceFn<(F, R, O, (T1, T2, T3), Context)> for F
where F: Fn(T1, T2, T3, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, I> EndpointServiceFn<(F, R, O, (T1, T2, T3), (), I)> for F
where F: Fn(T1, T2, T3, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, I> EndpointServiceFn<(F, R, O, (T1, T2, T3), Context, I)> for F
where F: Fn(T1, T2, T3, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4))> for F
where F: Fn(T1, T2, T3, T4) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4), Context)> for F
where F: Fn(T1, T2, T3, T4, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4), (), I)> for F
where F: Fn(T1, T2, T3, T4, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4), Context, I)> for F
where F: Fn(T1, T2, T3, T4, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5))> for F
where F: Fn(T1, T2, T3, T4, T5) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5), Context)> for F
where F: Fn(T1, T2, T3, T4, T5, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5), (), I)> for F
where F: Fn(T1, T2, T3, T4, T5, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5), Context, I)> for F
where F: Fn(T1, T2, T3, T4, T5, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6))> for F
where F: Fn(T1, T2, T3, T4, T5, T6) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6), Context)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6), (), I)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6), Context, I)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7))> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, T7: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7), Context)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, Context) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, T7: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7), (), I)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, T7: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7), Context, I)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, Context, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, T7: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8))> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, T7: FromRequestContextRefPair, T8: FromRequestContextRefPair,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8), Context)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8), (), I)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, I) -> R + Clone + Send + Sync + 'static, R: Future<Output = O> + Send + 'static, O: IntoResponse + Send + Sync + 'static, T1: FromRequestContextRefPair, T2: FromRequestContextRefPair, T3: FromRequestContextRefPair, T4: FromRequestContextRefPair, T5: FromRequestContextRefPair, T6: FromRequestContextRefPair, T7: FromRequestContextRefPair, T8: FromRequestContextRefPair, I: FromRequest,

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8), Context, I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9))> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9), Context)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9), (), I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9), Context, I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10))> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), Context)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), (), I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), Context, I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11))> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), Context)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), (), I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), Context, I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12))> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), Context)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), (), I)> for F

§

impl<F, R, O, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, I> EndpointServiceFn<(F, R, O, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), Context, I)> for F