Skip to main content

Handler

Trait Handler 

Source
pub trait Handler:
    Send
    + Sync
    + 'static {
    // Required method
    fn handle<'life0, 'life1, 'async_trait>(
        &'life0 self,
        req: &'life1 mut Request,
    ) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Handlers are responsible for handling requests by creating Responses from those Requests.

Required Methods§

Source

fn handle<'life0, 'life1, 'async_trait>( &'life0 self, req: &'life1 mut Request, ) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Produce a Response from a Request, with the possibility of error.

Trait Implementations§

Source§

impl Handler for Box<dyn Handler>

Source§

fn handle<'life0, 'life1, 'async_trait>( &'life0 self, req: &'life1 mut Request, ) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Produce a Response from a Request, with the possibility of error.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Handler for Box<dyn Handler>

Source§

fn handle<'life0, 'life1, 'async_trait>( &'life0 self, req: &'life1 mut Request, ) -> Pin<Box<dyn Future<Output = Result<Response>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Implementors§

Source§

impl Handler for Middlewares

Source§

impl<F> Handler for F
where F: Send + Sync + 'static + Fn(&mut Request) -> Result<Response>,