Skip to content

A compatibility crate to use trust-dns-resolver asynchronously with hyper client, instead the default dns threadpool

License

Notifications You must be signed in to change notification settings

buinauskas/hyper-trust-dns-connector

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hyper-trust-dns-connector

MIT licensed crates.io Released API docs

A crate to make trust-dns-resolver's asynchronous resolver compatible with hyper client, to use instead of the default dns threadpool.

Documentation

Motivations

By default hyper HttpConnector uses the std provided resolver wich is blocking in a threadpool with a configurable number of threads. This crate provides an alternative using trust_dns_resolver, a dns resolver written in Rust, with async features.

Example

use hyper::{Body, Client};
use hyper_trust_dns_connector::new_async_http_connector;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let http = new_async_http_connector()?;
    let client = Client::builder().build::<_, Body>(http);
    let status_code = client
        .get(hyper::Uri::from_static("http://httpbin.org/ip"))
        .await?
        .status();
    assert_eq!(status_code, 200);
    Ok(())
}

Contributing

If you need a feature implemented, or want to help, don't hesitate to open an issue or a PR.

License

Provided under the MIT license (LICENSE or http://opensource.org/licenses/MIT)

About

A compatibility crate to use trust-dns-resolver asynchronously with hyper client, instead the default dns threadpool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%