From 9cc031e286fda0f3d16f18334217ca8948dae981 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Tue, 24 Sep 2024 01:54:29 +0000 Subject: [PATCH] Fix client-timeout not applied --- src/webclient.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/webclient.rs b/src/webclient.rs index abcce85..b3b83f5 100644 --- a/src/webclient.rs +++ b/src/webclient.rs @@ -172,6 +172,10 @@ impl WebClient { self.retry_interval.get_ref() } + pub fn get_timeout<'a>(&'a self) -> RwLockReadGuard<'a, Option> { + self.timeout.get_ref() + } + /// Used to handle Set-Cookie header in an [Response] /// * `r` - reference to an [Response] pub fn handle_set_cookie(&self, r: &Response) { @@ -398,6 +402,12 @@ impl WebClient { if c.len() > 0 { r = r.header("Cookie", c.as_str()); } + match self.get_timeout().as_ref() { + Some(t) => { + r = r.timeout(t.clone()); + } + None => {} + } self.handle_req_middlewares(r.build()?) } @@ -528,6 +538,12 @@ impl WebClient { } None => {} } + match self.get_timeout().as_ref() { + Some(t) => { + r = r.timeout(t.clone()); + } + None => {} + } self.handle_req_middlewares(r.build()?) } @@ -573,6 +589,12 @@ impl WebClient { r = r.header("Cookie", c.as_str()); } r = r.multipart(form); + match self.get_timeout().as_ref() { + Some(t) => { + r = r.timeout(t.clone()); + } + None => {} + } self.handle_req_middlewares(r.build()?) } }