use std::time::Duration;
use reqx::prelude::{Client, TlsBackend, TlsRootStore};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let ca_pem = std::fs::read("certs/ca.pem")?;
let client_cert_chain_pem = std::fs::read("certs/client-cert-chain.pem")?;
let client_key_pem = std::fs::read("certs/client-key.pem")?;
let client = Client::builder("https://minio.internal.example.com")
.client_name("reqx-example-custom-ca-mtls")
.request_timeout(Duration::from_secs(5))
.tls_backend(TlsBackend::RustlsRing)
.tls_root_store(TlsRootStore::Specific)
.tls_root_ca_pem(ca_pem)
.tls_client_identity_pem(client_cert_chain_pem, client_key_pem)
.build()?;
println!("selected tls backend = {:?}", client.tls_backend());
Ok(())
}