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
.
This is the same as Client::builder()
.
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 TLS backend cannot be initialized, or the resolver cannot load the system configuration.
sourcepub fn tcp_nodelay(self) -> ClientBuilder
pub fn tcp_nodelay(self) -> ClientBuilder
Set that all sockets have SO_NODELAY
set to true
.
sourcepub fn use_default_tls(self) -> ClientBuilder
pub fn use_default_tls(self) -> ClientBuilder
Use native TLS backend.
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 no_proxy(self) -> ClientBuilder
pub fn no_proxy(self) -> ClientBuilder
Clear all Proxies
, so Client
will use no proxy anymore.
sourcepub fn use_sys_proxy(self) -> ClientBuilder
pub fn use_sys_proxy(self) -> ClientBuilder
Add system proxy setting to the list of proxies
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
Enables a request timeout.
The timeout is applied from the when the request starts connecting until the response body has finished.
Default is no timeout.
sourcepub fn max_idle_per_host(self, max: usize) -> ClientBuilder
pub fn max_idle_per_host(self, max: usize) -> ClientBuilder
Sets the maximum idle connection per host allowed in the pool.
Default is usize::MAX (no limit).
sourcepub fn h2_prior_knowledge(self) -> ClientBuilder
pub fn h2_prior_knowledge(self) -> ClientBuilder
Only use HTTP/2.
sourcepub fn http1_title_case_headers(self) -> ClientBuilder
pub fn http1_title_case_headers(self) -> ClientBuilder
Enable case sensitive headers.
sourcepub fn executor<E>(self, executor: E) -> ClientBuilder where
E: Executor<Box<dyn Future<Item = (), Error = ()> + Send>> + Send + Sync + 'static,
pub fn executor<E>(self, executor: E) -> ClientBuilder where
E: Executor<Box<dyn Future<Item = (), Error = ()> + Send>> + Send + Sync + 'static,
Allow changing the Hyper runtime executor
sourcepub fn connect_timeout(self, timeout: Duration) -> ClientBuilder
pub fn connect_timeout(self, timeout: Duration) -> ClientBuilder
Set a timeout for only the connect phase of a Client
.
Default is None
.
Note
This requires the futures be executed in a tokio runtime with a tokio timer enabled.
sourcepub fn local_address<T>(self, addr: T) -> ClientBuilder where
T: Into<Option<IpAddr>>,
pub fn local_address<T>(self, addr: T) -> ClientBuilder where
T: Into<Option<IpAddr>>,
Bind to a local IP Address
Enable a persistent cookie store for the client.
Cookies received in responses will be preserved and included in additional requests.
By default, no cookie store is used.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ClientBuilder
impl Send for ClientBuilder
impl Sync for ClientBuilder
impl Unpin for ClientBuilder
impl !UnwindSafe for ClientBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more