micro_http::handler

Trait Handler

Source
pub trait Handler: Send + Sync {
    type RespBody: Body;
    type Error: Into<Box<dyn Error + Send + Sync>>;
    type Fut<'fut>: Future<Output = Result<Response<Self::RespBody>, Self::Error>>
       where Self: 'fut;

    // Required method
    fn call(&self, req: Request<ReqBody>) -> Self::Fut<'_>;
}

Required Associated Types§

Source

type RespBody: Body

Source

type Error: Into<Box<dyn Error + Send + Sync>>

Source

type Fut<'fut>: Future<Output = Result<Response<Self::RespBody>, Self::Error>> where Self: 'fut

Required Methods§

Source

fn call(&self, req: Request<ReqBody>) -> Self::Fut<'_>

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§

Source§

impl<RespBody, Err, F, Fut> Handler for HandlerFn<F>
where RespBody: Body, F: Fn(Request<ReqBody>) -> Fut + Send + Sync, Err: Into<Box<dyn Error + Send + Sync>>, Fut: Future<Output = Result<Response<RespBody>, Err>> + Send,

Source§

type RespBody = RespBody

Source§

type Error = Err

Source§

type Fut<'fut> = Fut where Self: 'fut