From 0e1e4e6fac17d64feec03039ef90469c366c352d Mon Sep 17 00:00:00 2001 From: James Guthrie Date: Fri, 10 Nov 2023 21:30:06 +0100 Subject: [PATCH] + Allow building client with custom reqwest::ClientBuilder --- src/client.rs | 13 ++++++++++++- src/lib.rs | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/client.rs b/src/client.rs index 0e76f06..2a48a1d 100644 --- a/src/client.rs +++ b/src/client.rs @@ -22,9 +22,20 @@ impl Client { } pub fn new_client(base_url: impl Into) -> Result { + let reqwest_builder = reqwest::Client::builder(); + + new_client_with_reqwest(base_url, reqwest_builder) +} + +pub fn new_client_with_reqwest( + base_url: impl Into, + reqwest_builder: reqwest::ClientBuilder, +) -> Result { let base_url = base_url.into().into(); let cookie_store = Arc::new(CookieStoreMutex::default()); - let reqwest_client = reqwest::Client::builder().cookie_provider(cookie_store.clone()).build()?; + let reqwest_client = reqwest_builder + .cookie_provider(cookie_store.clone()) + .build()?; Ok(Client { base_url, diff --git a/src/lib.rs b/src/lib.rs index 1e40d62..9175aee 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,6 +6,7 @@ mod response; // public re-exports pub type Result = std::result::Result; pub use crate::client::new_client; +pub use crate::client::new_client_with_reqwest; pub use crate::cookie::Cookie; pub use crate::error::Error; pub use crate::response::Response;