Trait HttpService

pub trait HttpService<ReqBody>: Sealed<ReqBody>

An asynchronous function from Request to Response.

This is a sealed trait, meaning that it can not be implemented directly. Rather, it is an alias for Services that accept a Request and return a Future that resolves to a Response. External callers should implement Service instead.

Rather than being generic over the request and response, this trait is generic across the request Body and response Body.

See the crate-level [service][crate::service] documentation for more information.

See Service for more information.

Associated Types

type ResBody: Body;

The Body body of the Response.

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

The error type that can occur within this Service.

Note: Returning an Error to a hyper server, the behavior depends on the protocol. In most cases, hyper will cause the connection to be abruptly aborted. In most cases, it is better to return a Response with a 4xx or 5xx status code.

See Service::Error for more information.

type Future: Future<Output = Result<Response<Self::ResBody>, Self::Error>>;

The Future returned by this Service.

Implementors