From 8968ee8e536d653a4283e900bfaddc1b456eca75 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 14 Sep 2025 23:25:33 +0800 Subject: refactor: better error handling --- src/client/client.rs | 3 ++- src/client/connector.rs | 5 ++--- src/client/connector/httpconnector.rs | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/client') diff --git a/src/client/client.rs b/src/client/client.rs index cc4cea8..617b688 100644 --- a/src/client/client.rs +++ b/src/client/client.rs @@ -69,7 +69,8 @@ impl Client { }, env: std::env::vars().collect(), }; - c.connector.init(&c); + // FIXME: handle this and all unwraps + c.connector.init(&c).unwrap(); c } diff --git a/src/client/connector.rs b/src/client/connector.rs index 7b5e1cd..1455eac 100644 --- a/src/client/connector.rs +++ b/src/client/connector.rs @@ -16,7 +16,7 @@ pub trait Connection { // TODO: queue failed ntfy // TODO: impl type of data - fn ntfy(&self, data: String) -> Result; + fn ntfy(&self, data: String) -> std::result::Result<(), Self::Err>; fn is_prev(&mut self, str: &Self::Ok) -> bool; @@ -26,7 +26,7 @@ pub trait Connection { _ = Executor::new("network", ["on".to_string()]); } - fn init(&self, c: &Client) + fn init(&self, c: &Client) -> std::result::Result<(), Self::Err> where Self: std::marker::Sized, { @@ -35,7 +35,6 @@ pub trait Connection { {c} "#, )) - .unwrap(); } fn reinit(&mut self) { diff --git a/src/client/connector/httpconnector.rs b/src/client/connector/httpconnector.rs index 8f06074..985d9c0 100644 --- a/src/client/connector/httpconnector.rs +++ b/src/client/connector/httpconnector.rs @@ -84,12 +84,13 @@ impl Connection for HTTPConnector { self.handle_response(|| self.client.get(self.pull_url.as_str())) } - fn ntfy(&self, data: String) -> Result { + fn ntfy(&self, data: String) -> std::result::Result<(), Self::Err> { self.handle_response(|| { self.client .post(self.ntfy_url.as_str()) .body(data.to_owned()) - }) + })?; + Ok(()) } fn is_prev(&mut self, str: &Self::Ok) -> bool { -- cgit v1.2.3