diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/connector/connectors/httpconnector.rs | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/client/connector/connectors/httpconnector.rs b/src/client/connector/connectors/httpconnector.rs index 8052b25..28ff4a0 100644 --- a/src/client/connector/connectors/httpconnector.rs +++ b/src/client/connector/connectors/httpconnector.rs @@ -1,6 +1,6 @@ use reqwest::{ Error, StatusCode, Url, - blocking::{Client, Response}, + blocking::{Client, RequestBuilder}, }; use crate::connector::*; @@ -37,11 +37,11 @@ impl HTTPConnector { }) } - fn handle_response<F: Fn() -> std::result::Result<Response, Error>>( + fn handle_response<F: Fn() -> RequestBuilder>( &self, resp: F, ) -> Result<<HTTPConnector as Connection>::Ok, <HTTPConnector as Connection>::Err> { - match resp() { + match resp().send() { Ok(resp) => match resp.status() { StatusCode::TOO_MANY_REQUESTS => { sleep(Duration::from_secs(5)); @@ -82,7 +82,7 @@ impl Connection for HTTPConnector { // consider StatusCode::NOT_MODIFIED fn update(&self) -> Result<Self::Ok, Self::Err> { - self.handle_response(|| self.client.get(self.pull_url.as_str()).send()) + self.handle_response(|| self.client.get(self.pull_url.as_str())) } fn ntfy(&self, data: String) -> Result<Self::Ok, Self::Err> { @@ -90,7 +90,6 @@ impl Connection for HTTPConnector { self.client .post(self.ntfy_url.as_str()) .body(data.to_owned()) - .send() }) } @@ -108,14 +107,12 @@ impl Connection for HTTPConnector { } fn get_ip(&self) -> Option<IpAddr> { - match self.handle_response(|| self.client.get(self.ip_getter_url.as_str()).send()) { + match self.handle_response(|| self.client.get(self.ip_getter_url.as_str())) { Result::Ok(ip) => Some(ip.parse().ok()?), - Result::Err(_) => { - match self.handle_response(|| self.client.get("ifconfig.me").send()) { - Ok(ip) => Some(ip.parse().ok()?), - Err(_) => None, - } - } + Result::Err(_) => match self.handle_response(|| self.client.get("ifconfig.me")) { + Ok(ip) => Some(ip.parse().ok()?), + Err(_) => None, + }, } } } |
