Trait tower_web::util::http::HttpService [−][src]
pub trait HttpService: Service {
type RequestBody: BufStream;
type ResponseBody: BufStream;
type Error;
type Future: Future<Item = Response<Self::ResponseBody>, Error = Self::Error>;
fn poll_http_ready(&mut self) -> Poll<(), Self::Error>;
fn call_http(&mut self, request: Request<Self::RequestBody>) -> Self::Future;
fn lift(self) -> LiftService<Self>
where
Self: Sized,
{ ... }
}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.
Associated Types
type RequestBody: BufStream
Request payload.
type ResponseBody: BufStream
The HTTP response body type.
type Error
The service error type
type Future: Future<Item = Response<Self::ResponseBody>, Error = Self::Error>
The future response value.
Required Methods
fn poll_http_ready(&mut self) -> Poll<(), Self::Error>
Returns Ready when the service is able to process requests.
fn call_http(&mut self, request: Request<Self::RequestBody>) -> Self::Future
Process the request and return the response asynchronously.
Provided Methods
fn lift(self) -> LiftService<Self> where
Self: Sized,
Self: Sized,
Wraps self with LiftService. This provides an implementation of
Service for Self.