# Struct reqwest::Client [−] [src]

    pub struct Client { /* fields omitted */ }

An asynchronous `Client` to make Requests with.

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` it in an `Rc` or `Arc` to reuse it, because it already uses an `Arc` internally.

## Implementations

### `impl Client` [src]

#### `pub fn new() -> Client` [src]

Constructs a new `Client`.

# Panics

This method panics if TLS backend cannot 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.

#### `pub fn builder() -> ClientBuilder` [src]

Creates a `ClientBuilder` to configure a `Client`.

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

#### `pub fn get<U: IntoUrl>(&self, url: U) -> RequestBuilder` [src]

Convenience method to make a `GET` request to a URL.

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn post<U: IntoUrl>(&self, url: U) -> RequestBuilder` [src]

Convenience method to make a `POST` request to a URL.

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn put<U: IntoUrl>(&self, url: U) -> RequestBuilder` [src]

Convenience method to make a `PUT` request to a URL.

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn patch<U: IntoUrl>(&self, url: U) -> RequestBuilder` [src]

Convenience method to make a `PATCH` request to a URL.

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn delete<U: IntoUrl>(&self, url: U) -> RequestBuilder` [src]

Convenience method to make a `DELETE` request to a URL.

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn head<U: IntoUrl>(&self, url: U) -> RequestBuilder` [src]

Convenience method to make a `HEAD` request to a URL.

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn request<U: IntoUrl>(&self, method: Method, url: U) -> RequestBuilder` [src]

Start building a `Request` with the `Method` and `Url`.

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

# Errors

This method fails whenever supplied `Url` cannot be parsed.

#### `pub fn execute(
&self,
request: Request
) -> impl Future<Output = Result<Response, Error>>` [src]

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.

## Trait Implementations

### `impl Clone for Client` [src]

#### `fn clone(&self) -> Client` [src]

Returns a copy of the value. Read more

#### `pub fn clone_from(&mut self, source: &Self)`1.0.0 [src]

Performs copy-assignment from `source`. Read more

### `impl Debug for Client` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl Default for Client` [src]

#### `fn default() -> Self` [src]

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

## Auto Trait Implementations

### `impl !RefUnwindSafe for Client`

### `impl Send for Client`

### `impl Sync for Client`

### `impl Unpin for Client`

### `impl !UnwindSafe for Client`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T> Instrument for T` [src]

#### `pub fn instrument(self, span: Span) -> Instrumented<Self>` [src]

Instruments this type with the provided `Span`, returning an `Instrumented` wrapper. Read more

#### `pub fn in_current_span(self) -> Instrumented<Self>` [src]

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T> ToOwned for T where
T: Clone,` [src]

#### `type Owned = T`

The resulting type after obtaining ownership.

#### `pub fn to_owned(&self) -> T` [src]

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

#### `pub fn clone_into(&self, target: &mut T)` [src]

🔬 This is a nightly-only experimental API. (`toowned_clone_into`)

recently added

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

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.