Struct reqwest::async::ClientBuilder
source · pub struct ClientBuilder { /* private fields */ }
Expand description
A ClientBuilder
can be used to create a Client
with custom configuration:
Implementations
sourceimpl ClientBuilder
impl ClientBuilder
sourcepub fn new() -> ClientBuilder
pub fn new() -> ClientBuilder
Constructs a new ClientBuilder
sourcepub fn build(self) -> Result<Client>
pub fn build(self) -> Result<Client>
Returns a Client
that uses this ClientBuilder
configuration.
Errors
This method fails if native TLS backend cannot be initialized.
sourcepub fn add_root_certificate(self, cert: Certificate) -> ClientBuilder
pub fn add_root_certificate(self, cert: Certificate) -> ClientBuilder
Add a custom root certificate.
This can be used to connect to a server that has a self-signed certificate for example.
sourcepub fn identity(self, identity: Identity) -> ClientBuilder
pub fn identity(self, identity: Identity) -> ClientBuilder
Sets the identity to be used for client certificate authentication.
sourcepub fn danger_accept_invalid_hostnames(
self,
accept_invalid_hostname: bool
) -> ClientBuilder
pub fn danger_accept_invalid_hostnames(
self,
accept_invalid_hostname: bool
) -> ClientBuilder
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.
sourcepub fn danger_accept_invalid_certs(
self,
accept_invalid_certs: bool
) -> ClientBuilder
pub fn danger_accept_invalid_certs(
self,
accept_invalid_certs: bool
) -> ClientBuilder
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.
sourcepub fn default_headers(self, headers: HeaderMap) -> ClientBuilder
pub fn default_headers(self, headers: HeaderMap) -> ClientBuilder
Sets the default headers for every request.
sourcepub fn gzip(self, enable: bool) -> ClientBuilder
pub fn gzip(self, enable: bool) -> ClientBuilder
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
andRange
values, theAccept-Encoding
header is set togzip
. The body is not automatically inflated. - When receiving a response, if it’s headers contain a
Content-Encoding
value that equals togzip
, both valuesContent-Encoding
andContent-Length
are removed from the headers’ set. The body is automatically deinflated.
Default is enabled.
sourcepub fn proxy(self, proxy: Proxy) -> ClientBuilder
pub fn proxy(self, proxy: Proxy) -> ClientBuilder
Add a Proxy
to the list of proxies the Client
will use.
sourcepub fn redirect(self, policy: RedirectPolicy) -> ClientBuilder
pub fn redirect(self, policy: RedirectPolicy) -> ClientBuilder
Set a RedirectPolicy
for this client.
Default will follow redirects up to a maximum of 10.
sourcepub fn referer(self, enable: bool) -> ClientBuilder
pub fn referer(self, enable: bool) -> ClientBuilder
Enable or disable automatic setting of the Referer
header.
Default is true
.
sourcepub fn timeout(self, timeout: Duration) -> ClientBuilder
pub fn timeout(self, timeout: Duration) -> ClientBuilder
Set a timeout for both the read and write operations of a client.
sourcepub fn dns_threads(self, threads: usize) -> ClientBuilder
pub fn dns_threads(self, threads: usize) -> ClientBuilder
Set number of DNS threads.