feat(client): impl tower_service::Service for &Client (#2089)
This commit is contained in:
@@ -562,6 +562,26 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<C, B> tower_service::Service<Request<B>> for &'_ Client<C, B>
|
||||||
|
where
|
||||||
|
C: Connect + Clone + Send + Sync + 'static,
|
||||||
|
B: HttpBody + Send + 'static,
|
||||||
|
B::Data: Send,
|
||||||
|
B::Error: Into<Box<dyn StdError + Send + Sync>>,
|
||||||
|
{
|
||||||
|
type Response = Response<Body>;
|
||||||
|
type Error = crate::Error;
|
||||||
|
type Future = ResponseFuture;
|
||||||
|
|
||||||
|
fn poll_ready(&mut self, _: &mut task::Context<'_>) -> Poll<Result<(), Self::Error>> {
|
||||||
|
Poll::Ready(Ok(()))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn call(&mut self, req: Request<B>) -> Self::Future {
|
||||||
|
self.request(req)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<C: Clone, B> Clone for Client<C, B> {
|
impl<C: Clone, B> Clone for Client<C, B> {
|
||||||
fn clone(&self) -> Client<C, B> {
|
fn clone(&self) -> Client<C, B> {
|
||||||
Client {
|
Client {
|
||||||
|
|||||||
Reference in New Issue
Block a user