Crate hyper_trust_dns
source · [−]Expand description
hyper-trust-dns
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.
Usage
use hyper::Client;
use hyper_trust_dns::TrustDnsResolver;
let connector = TrustDnsResolver::default().into_rustls_native_https_connector();
let client: Client<_> = Client::builder().build(connector);Types of connectors
There are 3 connectors:
TrustDnsHttpConnector, a wrapper aroundHttpConnector<TrustDnsResolver>. Created withTrustDnsResolver::into_http_connector].RustlsHttpsConnector, a hyper-rustls based connector to work withTrustDnsHttpConnector. Created withTrustDnsResolver::into_rustls_native_https_connectororTrustDnsResolver::into_rustls_webpki_https_connector.NativeTlsHttpsConnector, a hyper-tls based connector to work withTrustDnsHttpConnector. Created withTrustDnsResolver::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.
Trust-DNS options
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.
Structs
Iterator over DNS lookup results.
A hyper resolver using trust-dns’s TokioAsyncResolver.
Type Definitions
native-tlsA hyper_tls::HttpsConnector that uses a TrustDnsHttpConnector.
rustls-native or rustls-webpkiA hyper_rustls::HttpsConnector that uses a TrustDnsHttpConnector.
A HttpConnector that uses the TrustDnsResolver.