diff --git a/src/client.rs b/src/client.rs index 8aeff979..9853fb61 100644 --- a/src/client.rs +++ b/src/client.rs @@ -91,6 +91,7 @@ impl Headers { struct Inner { easy: easy::Easy, nonce: Option, + proxy: Option, } impl Inner { @@ -98,6 +99,7 @@ impl Inner { Self { easy: easy::Easy::new(), nonce: None, + proxy: None, } } @@ -120,6 +122,10 @@ impl Inner { self.easy.url(url)?; + if let Some(p) = &self.proxy { + self.easy.proxy(&p)?; + } + { let mut transfer = self.easy.transfer(); @@ -156,6 +162,10 @@ impl Inner { }) } + pub fn set_proxy(&mut self, proxy: String) { + self.proxy = Some(proxy); + } + /// Low-level API to run an n API request. This automatically updates the current nonce! fn run_request(&mut self, request: Request) -> Result { self.easy.reset(); @@ -586,6 +596,11 @@ impl Client { } } } + + /// Set a proxy + pub fn set_proxy(&mut self, proxy: String) { + self.inner.set_proxy(proxy) + } } fn parse_header(data: &[u8]) -> Option<(&str, &str)> {