5 releases (3 breaking)

Uses new Rust 2024

0.3.0 Feb 14, 2026
0.2.0 Apr 3, 2025
0.1.0 May 8, 2024
0.0.2 Jan 25, 2024
0.0.1 Jan 25, 2024

#703 in Command line utilities

Download history 282/week @ 2025-12-28 186/week @ 2026-01-04 140/week @ 2026-01-11 248/week @ 2026-01-18 295/week @ 2026-01-25 371/week @ 2026-02-01 705/week @ 2026-02-08 687/week @ 2026-02-15 428/week @ 2026-02-22 1389/week @ 2026-03-01 1481/week @ 2026-03-08 624/week @ 2026-03-15 457/week @ 2026-03-22 1144/week @ 2026-03-29 3441/week @ 2026-04-05 957/week @ 2026-04-12

6,112 downloads per month
Used in 2 crates (via rnaapi)

Apache-2.0

23KB
78 lines

reqwest-hickory-resolver   Build Status Latest Version

reqwest-hickory-resolver is the resolver for reqwest based on hickory-dns.

Quick Start

Init client with HickoryResolver.

use std::sync::Arc;

use reqwest::ClientBuilder;
use reqwest_hickory_resolver::HickoryResolver;

fn init_with_hickory_resolver() -> reqwest::Result<()> {
    let mut builder = ClientBuilder::new();
    builder = builder.dns_resolver(Arc::new(HickoryResolver::default()));
    builder.build()?;
    Ok(())
}

HickoryResolver has cache support, we can share the same resolver across different client for better performance.

use std::sync::Arc;
use once_cell::sync::Lazy;
use reqwest::ClientBuilder;
use reqwest_hickory_resolver::HickoryResolver;

static GLOBAL_RESOLVER: Lazy<Arc<HickoryResolver>> =
    Lazy::new(|| Arc::new(HickoryResolver::default()));
    
fn init_with_hickory_resolver() -> reqwest::Result<()> {
    let mut builder = ClientBuilder::new();
    builder = builder.dns_resolver(GLOBAL_RESOLVER.clone());
    builder.build()?;
    Ok(())
}

Contributing

Check out the CONTRIBUTING.md guide for more details on getting started with contributing to this project.

Getting help

Submit issues for bug report or asking questions in discussion.

Acknowledgements

This project is based on reqwest's TrustDnsResolver.

License

Licensed under Apache License, Version 2.0.

Dependencies

~22–40MB
~587K SLoC