Struct reqwest::ClientBuilder [] [src]

pub struct ClientBuilder { /* fields omitted */ }

A ClientBuilder can be used to create a Client with custom configuration.

Example

use std::time::Duration;

let client = reqwest::Client::builder()
    .gzip(true)
    .timeout(Duration::from_secs(10))
    .build()?;

Methods

impl ClientBuilder
[src]

[src]

Constructs a new ClientBuilder

[src]

Returns a Client that uses this ClientBuilder configuration.

Errors

This method fails if native TLS backend cannot be initialized.

Panics

This method consumes the internal state of the builder. Trying to use this builder again after calling build will panic.

[src]

Add a custom root certificate.

This can be used to connect to a server that has a self-signed certificate for example.

Example

// read a local binary DER encoded certificate
let mut buf = Vec::new();
File::open("my-cert.der")?.read_to_end(&mut buf)?;

// create a certificate
let cert = reqwest::Certificate::from_der(&buf)?;

// get a client builder
let client = reqwest::Client::builder()
    .add_root_certificate(cert)
    .build()?;

Errors

This method fails if adding root certificate was unsuccessful.

[src]

Sets the identity to be used for client certificate authentication.

Example

// read a local PKCS12 bundle
let mut buf = Vec::new();
File::open("my-ident.pfx")?.read_to_end(&mut buf)?;

// create an Identity from the PKCS#12 archive
let pkcs12 = reqwest::Identity::from_pkcs12_der(&buf, "my-privkey-password")?;

// get a client builder
let client = reqwest::Client::builder()
    .identity(pkcs12)
    .build()?;

[src]

Disable hostname verification.

Warning

You should think very carefully before you use this method. If hostname verification is not used, any valid certificate for any site will be trusted for use from any other. This introduces a significant vulnerability to man-in-the-middle attacks.

[src]

Enable hostname verification.

Default is enabled.

[src]

Sets the default headers for every request.

Example

use reqwest::header;
let mut headers = header::Headers::new();
headers.set(header::Authorization("secret".to_string()));

// get a client builder
let client = reqwest::Client::builder()
    .default_headers(headers)
    .build()?;
let res = client.get("https://www.rust-lang.org").send()?;

Override the default headers:

use reqwest::header;
let mut headers = header::Headers::new();
headers.set(header::Authorization("secret".to_string()));

// get a client builder
let client = reqwest::Client::builder()
    .default_headers(headers)
    .build()?;
let res = client
    .get("https://www.rust-lang.org")
    .header(header::Authorization("token".to_string()))
    .send()?;

[src]

Enable auto gzip decompression by checking the ContentEncoding response header.

Default is enabled.

[src]

Add a Proxy to the list of proxies the Client will use.

[src]

Set a RedirectPolicy for this client.

Default will follow redirects up to a maximum of 10.

[src]

Enable or disable automatic setting of the Referer header.

Default is true.

[src]

Set a timeout for connect, read and write operations of a Client.

Default is 30 seconds.

Pass None to disable timeout.

Trait Implementations

impl Debug for ClientBuilder
[src]

[src]

Formats the value using the given formatter.