#dns-resolver #hyper #dns #hyper-util #getaddrinfo

hyper-system-resolver

An advanced system resolver for use with hyper & hyper-util

7 releases (breaking)

Uses new Rust 2024

0.7.0 Oct 6, 2025
0.6.0 Oct 6, 2025
0.5.0 Feb 25, 2021
0.4.0 Feb 6, 2021
0.1.0 Feb 6, 2021

#11 in #dns-resolver

Download history 2560/week @ 2026-01-11 3281/week @ 2026-01-18 2309/week @ 2026-01-25 1889/week @ 2026-02-01 1993/week @ 2026-02-08 2837/week @ 2026-02-15 1708/week @ 2026-02-22 4053/week @ 2026-03-01 5238/week @ 2026-03-08 2379/week @ 2026-03-15 2103/week @ 2026-03-22 4034/week @ 2026-03-29 3153/week @ 2026-04-05 2192/week @ 2026-04-12 2164/week @ 2026-04-19 4009/week @ 2026-04-26

12,316 downloads per month
Used in 2 crates

MIT license

15KB
279 lines

hyper-system-resolver

System DNS resolver for hyper.

Resolves the name via getaddrinfo, but more flexible than hyper standard resolver.

Usage

See the documentation.


lib.rs:

System DNS resolver for hyper & hyper-util.

Resolves the name via getaddrinfo, but more flexible than hyper-util's standard resolver.

Usage

use hyper_system_resolver::{addr_info_hints, AddrInfoHints};
use hyper_util::client::legacy::{Client, connect::HttpConnector};

let addr_info_hints = AddrInfoHints {
     address_family: addr_info_hints::AddressFamily::Inet6,
};
let system_resolve = hyper_system_resolver::system::System {
    addr_info_hints: Some(addr_info_hints.into()),
    service: None,
};
let executor = hyper_util::rt::TokioExecutor::new();
let http_connector = HttpConnector::new_with_resolver(system_resolve.resolver());
let client = Client::builder(executor).build::<_, hyper::body::Incoming>(http_connector);

Dependencies

~8–22MB
~162K SLoC