pub trait HttpService: Service {
type RequestBody: BufStream;
type ResponseBody: BufStream;
type Error;
type Future: Future<Item = Response<Self::ResponseBody>, Error = Self::Error>;
// Required methods
fn poll_http_ready(&mut self) -> Poll<(), Self::Error>;
fn call_http(&mut self, request: Request<Self::RequestBody>) -> Self::Future;
// Provided method
fn lift(self) -> LiftService<Self>
where Self: Sized { ... }
}Expand description
An HTTP service
This is not intended to be implemented directly. Instead, it is a trait
alias of sorts, aliasing tower_service::Service trait with http::Request
and http::Response types.
Required Associated Types§
Sourcetype RequestBody: BufStream
type RequestBody: BufStream
Request payload.
Sourcetype ResponseBody: BufStream
type ResponseBody: BufStream
The HTTP response body type.
Required Methods§
Sourcefn poll_http_ready(&mut self) -> Poll<(), Self::Error>
fn poll_http_ready(&mut self) -> Poll<(), Self::Error>
Returns Ready when the service is able to process requests.
Sourcefn call_http(&mut self, request: Request<Self::RequestBody>) -> Self::Future
fn call_http(&mut self, request: Request<Self::RequestBody>) -> Self::Future
Process the request and return the response asynchronously.
Provided Methods§
Sourcefn lift(self) -> LiftService<Self>where
Self: Sized,
fn lift(self) -> LiftService<Self>where
Self: Sized,
Wraps self with LiftService. This provides an implementation of
Service for Self.