pub trait HttpService<ReqBody>: Sealed<ReqBody> {
type ResBody: Body;
type Error: Into<Box<dyn StdError + Send + Sync>>;
type Future: Future<Output = Result<Response<Self::ResBody>, Self::Error>>;
}
Expand description
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 Service
s 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
documentation for more information.
See Service
for more information.
Required Associated Types§
Sourcetype Error: Into<Box<dyn StdError + Send + Sync>>
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.