This crate provides HTTP/HTTPS connectors for hyper that use the fast and advanced DNS resolver of trust-dns instead of the default threadpool implementation of hyper.
```rust use hyper::Client; use hypertrustdns::TrustDnsResolver;
let connector = TrustDnsResolver::default().intorustlsnativehttpsconnector(); let client: Client<_> = Client::builder().build(connector); ```
There are 3 connectors:
TrustDnsHttpConnector
], a wrapper around [HttpConnector<TrustDnsResolver>
]. Created with TrustDnsResolver::into_http_connector
].RustlsHttpsConnector
], a hyper-rustls based connector to work with [TrustDnsHttpConnector
]. Created with [TrustDnsResolver::into_rustls_native_https_connector
] or [TrustDnsResolver::into_rustls_webpki_https_connector
].NativeTlsHttpsConnector
], a hyper-tls based connector to work with [TrustDnsHttpConnector
]. Created with [TrustDnsResolver::into_native_tls_https_connector
].The HTTP connector is always available, the other two can be enabled via the rustls-webpki
(uses webpki roots)/rustls-native
(uses OS cert store) and native-tls
features respectably.
The crate has other features that toggle functionality in trust-dns-resolver, namingly dns-over-openssl
, dns-over-native-tls
and dns-over-rustls
for DNS-over-TLS, dns-over-https-rustls
for DNS-over-HTTPS and dnssec-openssl
and dnssec-ring
for DNSSEC.