From 85d2de5157908ef3d011375e30b928220260110b Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Thu, 25 Jan 2024 19:10:29 +0800 Subject: [PATCH] docs: Polish README (#3) Signed-off-by: Xuanwo --- README.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 851938a..f7f4cfc 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,42 @@ ## Quick Start -TODO +Init client with `HickoryResolver`. + +```rust +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> = + 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