pub struct Client { /* private fields */ }
Available on crate feature
client
only.Expand description
A high-level async HTTP client.
This client is built on top of the Service
API and provides a more user-friendly interface,
including support for retries, redirects and timeouts.
§Example
let mut client = Client::build_tcp_http().build();
let response = client.get("http://example.com".parse().unwrap()).await.unwrap();
println!("Response: {:?}", response);
Implementations§
Source§impl Client
impl Client
Sourcepub fn new_from_service<S>(service: S) -> Self
pub fn new_from_service<S>(service: S) -> Self
Create a new client from a raw service.
It is much easier to use the builder interface to create a client.
Sourcepub fn build_tcp_http() -> Builder<TcpTransportConfig, HttpConnectionBuilder<Body>>
pub fn build_tcp_http() -> Builder<TcpTransportConfig, HttpConnectionBuilder<Body>>
Create a new client builder with default settings applied.
Sourcepub fn new_tcp_http() -> Self
pub fn new_tcp_http() -> Self
Create a new client with default settings applied for TCP connections (with TLS support) and HTTP/1.1 or HTTP/2.
Sourcepub fn into_inner(self) -> SharedClientService<Body, Body>
pub fn into_inner(self) -> SharedClientService<Body, Body>
Unwrap the inner service from the client.
Trait Implementations§
Source§impl Service<Request<Body>> for Client
impl Service<Request<Body>> for Client
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<R> FirstAddrExt for R
impl<R> FirstAddrExt for R
Source§fn first_addr(self) -> FirstAddrResolver<Self>where
Self: Sized,
fn first_addr(self) -> FirstAddrResolver<Self>where
Self: Sized,
Available on crate feature
client
only.Convert this resolver into a
FirstAddrResolver
. Read moreSource§impl<T, BIn, BOut> HttpService<BIn> for T
impl<T, BIn, BOut> HttpService<BIn> for T
Source§type Error = <T as Service<Request<BIn>>>::Error
type Error = <T as Service<Request<BIn>>>::Error
The error type that can occur within this
Service
. Read morefn poll_ready( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<(), <T as HttpService<BIn>>::Error>>
fn call(&mut self, req: Request<BIn>) -> <T as HttpService<BIn>>::Future
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<S, R> ServiceExt<R> for Swhere
S: Service<R>,
impl<S, R> ServiceExt<R> for Swhere
S: Service<R>,
Source§fn into_make_service(self) -> IntoMakeService<S>
fn into_make_service(self) -> IntoMakeService<S>
Convert this service into a
MakeService
, that is a Service
whose
response is another service. Read moreSource§fn into_make_service_with_connect_info<C>(
self,
) -> IntoMakeServiceWithConnectInfo<S, C>
fn into_make_service_with_connect_info<C>( self, ) -> IntoMakeServiceWithConnectInfo<S, C>
Convert this service into a
MakeService
, that will store C
’s
associated ConnectInfo
in a request extension such that ConnectInfo
can extract it. Read moreSource§fn handle_error<F, T>(self, f: F) -> HandleError<Self, F, T>
fn handle_error<F, T>(self, f: F) -> HandleError<Self, F, T>
Convert this service into a
HandleError
, that will handle errors
by converting them into responses. Read moreSource§impl<T, Request> ServiceExt<Request> for T
impl<T, Request> ServiceExt<Request> for T
Source§fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
Yields a mutable reference to the service when it is ready to accept a request.
Source§fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
Yields the service when it is ready to accept a request.
Source§fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
Consume this
Service
, calling it with the provided request once it is ready.Source§fn and_then<F>(self, f: F) -> AndThen<Self, F>
fn and_then<F>(self, f: F) -> AndThen<Self, F>
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the
poll_ready
method. Read moreSource§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
Maps this service’s response value to a different value. This does not
alter the behaviour of the
poll_ready
method. Read moreSource§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
Maps this service’s error value to a different value. This does not
alter the behaviour of the
poll_ready
method. Read moreSource§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
Maps this service’s result type (
Result<Self::Response, Self::Error>
)
to a different value, regardless of whether the future succeeds or
fails. Read moreSource§fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
Composes a function in front of the service. Read more
Source§fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
Composes an asynchronous function after this service. Read more
Source§fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
Composes a function that transforms futures produced by the service. Read more