[][src]Trait tide::Middleware

pub trait Middleware<State>: Send + Sync + 'static {
#[must_use]    fn handle<'life0, 'life1, 'async_trait>(
        &'life0 self,
        request: Request<State>,
        next: Next<'life1, State>
    ) -> Pin<Box<dyn Future<Output = Result> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn name(&self) -> &str { ... } }

Middleware that wraps around the remaining middleware chain.

Required methods

#[must_use]fn handle<'life0, 'life1, 'async_trait>(
    &'life0 self,
    request: Request<State>,
    next: Next<'life1, State>
) -> Pin<Box<dyn Future<Output = Result> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Asynchronously handle the request, and return a response.

Loading content...

Provided methods

fn name(&self) -> &str

Set the middleware's name. By default it uses the type signature.

Loading content...

Implementors

impl<State, F> Middleware<State> for F where
    State: Clone + Send + Sync + 'static,
    F: Send + Sync + 'static + for<'a> Fn(Request<State>, Next<'a, State>) -> Pin<Box<dyn Future<Output = Result> + Send + 'a>>, 
[src]

impl<State, F, Fut> Middleware<State> for After<F> where
    State: Clone + Send + Sync + 'static,
    F: Fn(Response) -> Fut + Send + Sync + 'static,
    Fut: Future<Output = Result> + Send + Sync + 'static, 
[src]

impl<State, F, Fut> Middleware<State> for Before<F> where
    State: Clone + Send + Sync + 'static,
    F: Fn(Request<State>) -> Fut + Send + Sync + 'static,
    Fut: Future<Output = Request<State>> + Send + Sync + 'static, 
[src]

impl<State: Clone + Send + Sync + 'static> Middleware<State> for LogMiddleware[src]

impl<State: Clone + Send + Sync + 'static> Middleware<State> for CorsMiddleware[src]

impl<Store, State> Middleware<State> for SessionMiddleware<Store> where
    Store: SessionStore,
    State: Clone + Send + Sync + 'static, 
[src]

Loading content...