Merge branch 'timeout'

master
Damir Jelić 2020-07-17 09:59:21 +02:00
commit 7ddc785a9a
1 changed files with 12 additions and 0 deletions

View File

@ -105,6 +105,7 @@ pub struct ClientConfig {
user_agent: Option<HeaderValue>,
disable_ssl_verification: bool,
base_config: BaseClientConfig,
timeout: Option<Duration>,
}
// #[cfg_attr(tarpaulin, skip)]
@ -198,6 +199,12 @@ impl ClientConfig {
self.base_config = self.base_config.passphrase(passphrase);
self
}
/// Set a timeout duration for all HTTP requests. The default is no timeout.
pub fn timeout(mut self, timeout: Duration) -> Self {
self.timeout = Some(timeout);
self
}
}
#[derive(Debug, Default, Clone)]
@ -314,6 +321,11 @@ impl Client {
#[cfg(not(target_arch = "wasm32"))]
let http_client = {
let http_client = match config.timeout {
Some(x) => http_client.timeout(x),
None => http_client,
};
let http_client = if config.disable_ssl_verification {
http_client.danger_accept_invalid_certs(true)
} else {