diff options
Diffstat (limited to 'src/consul.rs')
-rw-r--r-- | src/consul.rs | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/consul.rs b/src/consul.rs index 4677931..c7ac2b6 100644 --- a/src/consul.rs +++ b/src/consul.rs @@ -23,13 +23,28 @@ pub struct Consul { impl Consul { pub fn new(config: &RuntimeConfigConsul) -> Self { - let client = if let Some((ca, ident)) = config.tls.clone() { - reqwest::Client::builder() - .use_rustls_tls() - .add_root_certificate(ca) - .identity(ident) - .build() - .expect("Unable to build reqwest client") + let client = if let Some((ca, skip_verify, ident)) = config.tls.clone() { + if skip_verify { + reqwest::Client::builder() + .use_rustls_tls() + .danger_accept_invalid_certs(true) + .identity(ident) + .build() + .expect("Unable to build reqwest client") + } else if let Some(ca) = ca { + reqwest::Client::builder() + .use_rustls_tls() + .add_root_certificate(ca) + .identity(ident) + .build() + .expect("Unable to build reqwest client") + } else { + reqwest::Client::builder() + .use_rustls_tls() + .identity(ident) + .build() + .expect("Unable to build reqwest client") + } } else { reqwest::Client::new() }; |