pub trait Middleware:
Send
+ Sync
+ 'static {
// Required method
fn handle<'life0, 'async_trait>(
&'life0 self,
req: Request,
next: Next,
) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Middleware trait
Required Methods§
fn handle<'life0, 'async_trait>(
&'life0 self,
req: Request,
next: Next,
) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<M: Middleware + ?Sized> Middleware for Arc<M>
Share one middleware instance between several registrations, e.g. a
RateLimiter whose budget spans multiple groups
impl<M: Middleware + ?Sized> Middleware for Arc<M>
Share one middleware instance between several registrations, e.g. a
RateLimiter whose budget spans multiple groups
Implementors§
impl Middleware for AccessLog
impl Middleware for Compression
impl Middleware for ConcurrencyLimit
impl Middleware for Cors
impl Middleware for Csrf
impl Middleware for ETags
impl Middleware for Hsts
impl Middleware for Idempotency
impl Middleware for JwtAuth
impl Middleware for Metrics
impl Middleware for RateLimiter
impl Middleware for RequestIdLayer
impl Middleware for RequireHttps
impl Middleware for ResponseCache
impl Middleware for SecurityHeaders
impl Middleware for SessionLayer
impl Middleware for Timeout
impl<F, Fut> Middleware for F
Implement Middleware for async functions