[][src]Struct komodo_rpc_client::HTTPClientBuilder

pub struct HTTPClientBuilder { /* 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()?;

Implementations

impl ClientBuilder[src]

pub fn new() -> ClientBuilder[src]

Constructs a new ClientBuilder

pub fn build(self) -> Result<Client, Error>[src]

Returns a Client that uses this ClientBuilder configuration.

Errors

This method fails if native TLS backend cannot be initialized.

pub fn add_root_certificate(self, cert: Certificate) -> ClientBuilder[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.

pub fn identity(self, identity: Identity) -> ClientBuilder[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()?;

pub fn danger_accept_invalid_hostnames(
    self,
    accept_invalid_hostname: bool
) -> ClientBuilder
[src]

Controls the use of hostname verification.

Defaults to false.

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.

pub fn danger_accept_invalid_certs(
    self,
    accept_invalid_certs: bool
) -> ClientBuilder
[src]

Controls the use of certificate validation.

Defaults to false.

Warning

You should think very carefully before using this method. If invalid certificates are trusted, any certificate for any site will be trusted for use. This includes expired certificates. This introduces significant vulnerabilities, and should only be used as a last resort.

pub fn default_headers(self, headers: HeaderMap<HeaderValue>) -> ClientBuilder[src]

Sets the default headers for every request.

Example

use reqwest::header;
let mut headers = header::HeaderMap::new();
headers.insert(header::AUTHORIZATION, header::HeaderValue::from_static("secret"));

// 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::HeaderMap::new();
headers.insert(header::AUTHORIZATION, header::HeaderValue::from_static("secret"));

// 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")
    .send()?;

pub fn gzip(self, enable: bool) -> ClientBuilder[src]

Enable auto gzip decompression by checking the ContentEncoding response header.

If auto gzip decompresson is turned on:

  • When sending a request and if the request's headers do not already contain an Accept-Encoding and Range values, the Accept-Encoding header is set to gzip. The body is not automatically inflated.
  • When receiving a response, if it's headers contain a Content-Encoding value that equals to gzip, both values Content-Encoding and Content-Length are removed from the headers' set. The body is automatically deinflated.

Default is enabled.

pub fn proxy(self, proxy: Proxy) -> ClientBuilder[src]

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

pub fn redirect(self, policy: RedirectPolicy) -> ClientBuilder[src]

Set a RedirectPolicy for this client.

Default will follow redirects up to a maximum of 10.

pub fn referer(self, enable: bool) -> ClientBuilder[src]

Enable or disable automatic setting of the Referer header.

Default is true.

pub fn timeout<T>(self, timeout: T) -> ClientBuilder where
    T: Into<Option<Duration>>, 
[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]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> Erased for T

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

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

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.

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.