self_signed_certs/
main.rs1use hyper_custom_cert::HttpClient;
2use std::collections::HashMap;
3use std::time::Duration;
4
5#[tokio::main]
6async fn main() {
7 let mut headers = HashMap::new();
9 headers.insert("x-app".into(), "example".into());
10
11 let client = HttpClient::builder()
12 .with_timeout(Duration::from_secs(10))
13 .with_default_headers(headers)
14 .build();
15
16 let _response = client
18 .request_with_options("https://example.com", None)
19 .await
20 .expect("request should succeed on native targets");
21
22 #[cfg(feature = "rustls")]
25 {
26 let ca_pem: &[u8] =
28 b"-----BEGIN CERTIFICATE-----\n...your root ca...\n-----END CERTIFICATE-----\n";
29 let _rustls_client = HttpClient::builder()
30 .with_timeout(Duration::from_secs(10))
31 .with_root_ca_pem(ca_pem)
32 .build();
33 let _ = _rustls_client
34 .request_with_options("https://private.local", None)
35 .await;
36
37 }
45
46 #[cfg(feature = "insecure-dangerous")]
49 {
50 let _dev_client = HttpClient::with_self_signed_certs();
52 let _ = _dev_client
53 .request_with_options("https://localhost:8443", None)
54 .await;
55
56 let _dev_client2 = HttpClient::builder()
58 .insecure_accept_invalid_certs(true)
59 .build();
60 let _ = _dev_client2
61 .request_with_options("https://localhost:8443", None)
62 .await;
63 }
64
65 println!("Example finished. See README for feature flags and commands.");
66}