pub trait Handler<Input>: DynClone + Send + Sync + 'static {
type Output;
// Required method
fn call<'life0, 'async_trait>(
&'life0 self,
input: Input
) -> Pin<Box<dyn Future<Output = Self::Output> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
A simplified asynchronous interface for handling input and output.
Composable request handlers.
Required Associated Types§
Required Methods§
Implementors§
source§impl Handler<Request<IncomingBody>> for BoxHandler
impl Handler<Request<IncomingBody>> for BoxHandler
source§impl<H, E, O> Handler<Request<IncomingBody>> for FnExtHandler<H, E, O>where
E: FromRequest + 'static,
E::Error: IntoResponse + Send,
H: FnExt<E, Output = Result<O>>,
O: 'static,
impl<H, E, O> Handler<Request<IncomingBody>> for FnExtHandler<H, E, O>where
E: FromRequest + 'static,
E::Error: IntoResponse + Send,
H: FnExt<E, Output = Result<O>>,
O: 'static,
source§impl<H, F, I, O, R> Handler<I> for CatchUnwind<H, F>
impl<H, F, I, O, R> Handler<I> for CatchUnwind<H, F>
source§impl<H, F, I, O, R, E> Handler<I> for CatchError<H, F, R, E>
impl<H, F, I, O, R, E> Handler<I> for CatchError<H, F, R, E>
source§impl<H, I, O> Handler<I> for MapInToResponse<H>
impl<H, I, O> Handler<I> for MapInToResponse<H>
source§impl<H, O> Handler<Request<IncomingBody>> for CompressionMiddleware<H>
Available on crate feature compression
only.
impl<H, O> Handler<Request<IncomingBody>> for CompressionMiddleware<H>
Available on crate feature
compression
only.source§impl<H, O> Handler<Request<IncomingBody>> for CookieMiddleware<H>
Available on crate feature cookie
only.
impl<H, O> Handler<Request<IncomingBody>> for CookieMiddleware<H>
Available on crate feature
cookie
only.source§impl<H, O> Handler<Request<IncomingBody>> for CorsMiddleware<H>
Available on crate feature cors
only.
impl<H, O> Handler<Request<IncomingBody>> for CorsMiddleware<H>
Available on crate feature
cors
only.source§impl<H, O> Handler<Request<IncomingBody>> for LimitsMiddleware<H>
Available on crate feature limits
only.
impl<H, O> Handler<Request<IncomingBody>> for LimitsMiddleware<H>
Available on crate feature
limits
only.source§impl<H, O> Handler<Request<IncomingBody>> for MetricsMiddleware<H>
Available on crate features params
and otel
and otel-metrics
only.
impl<H, O> Handler<Request<IncomingBody>> for MetricsMiddleware<H>
Available on crate features
params
and otel
and otel-metrics
only.source§impl<H, O, S, G, V> Handler<Request<IncomingBody>> for CsrfMiddleware<H, S, G, V>
Available on crate feature csrf
only.
impl<H, O, S, G, V> Handler<Request<IncomingBody>> for CsrfMiddleware<H, S, G, V>
Available on crate feature
csrf
only.source§impl<H, O, S, G, V> Handler<Request<IncomingBody>> for SessionMiddleware<H, S, G, V>
Available on crate feature session
only.
impl<H, O, S, G, V> Handler<Request<IncomingBody>> for SessionMiddleware<H, S, G, V>
Available on crate feature
session
only.source§impl<H, O, T> Handler<Request<IncomingBody>> for TracingMiddleware<H, T>
Available on crate features params
and otel
and otel-tracing
only.
impl<H, O, T> Handler<Request<IncomingBody>> for TracingMiddleware<H, T>
Available on crate features
params
and otel
and otel-tracing
only.