pub struct Client(pub ProcessRef<InnerClient>);
Expand description

An http Client to make Requests with.

The Client is a wrapper for a process so The Client has various configuration values to tweak, but the defaults are set to what is usually the most commonly desired value. To configure a Client, use Client::builder().

The Client holds a connection pool internally, so it is advised that you create one and reuse it.

You do not have to wrap the Client in an [Rc] or Arc to reuse it, because it already wraps a ProcessRef and that ensures that any incoming messages will be processed in order, even if called at the same time from different processes.

Of course, as any usual ProcessRef, the Client struct is cloneable and serialisable so it’s easy to pass around between processes. A client can connect to multiple different hosts and manage different connections.

Tuple Fields§

§0: ProcessRef<InnerClient>

Implementations§

source§

impl Client

source

pub fn new() -> Client

Constructs a new Client.

Panics

This method panics if a TLS backend cannot be initialized, or the resolver cannot load the system configuration.

Use Client::builder() if you wish to handle the failure as an Error instead of panicking.

source

pub fn get<U>(&self, url: U) -> RequestBuilder
where U: IntoUrl,

Convenience method to make a GET request to a URL.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn post<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a POST request to a URL.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn put<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a PUT request to a URL.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn patch<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a PATCH request to a URL.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn delete<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a DELETE request to a URL.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn head<U: IntoUrl>(&self, url: U) -> RequestBuilder

Convenience method to make a HEAD request to a URL.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn request<U: IntoUrl>(&self, method: Method, url: U) -> RequestBuilder

Start building a Request with the Method and Url.

Returns a RequestBuilder, which will allow setting headers and the request body before sending.

Errors

This method fails whenever the supplied Url cannot be parsed.

source

pub fn execute(&mut self, request: Request) -> Result<HttpResponse, Error>

Executes a Request.

A Request can be built manually with Request::new() or obtained from a RequestBuilder with RequestBuilder::build().

You should prefer to use the RequestBuilder and RequestBuilder::send().

Errors

This method fails if there was an error while sending request, redirect loop was detected or redirect limit was exhausted.

source

pub fn builder() -> ClientBuilder

Creates a ClientBuilder to configure a Client.

This is the same as ClientBuilder::new().

Trait Implementations§

source§

impl Clone for Client

source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Client

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Client

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Client

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Client

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,