diff options
author | Toby Vincent <tobyv@tobyvin.dev> | 2024-10-01 13:15:24 -0500 |
---|---|---|
committer | Toby Vincent <tobyv@tobyvin.dev> | 2024-10-01 13:15:24 -0500 |
commit | fe16a923190243dfde5db6ceff2ef0bcf9158926 (patch) | |
tree | 9b8b616e1972ca3ef6e28d29c980899af3ddde49 /src/service/http.rs | |
parent | e1d9c956beb6921b0d549248bea3a6853fde5f46 (diff) |
feat: simplify service status type
Diffstat (limited to 'src/service/http.rs')
-rw-r--r-- | src/service/http.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/service/http.rs b/src/service/http.rs index 7c875b9..8950096 100644 --- a/src/service/http.rs +++ b/src/service/http.rs @@ -32,14 +32,10 @@ impl ServiceSpawner for Http { .try_clone() .expect("Clone with no body should never fail"); let resp = client.execute(req).await; - let status = match resp.map(|r| r.status().as_u16()) { - Ok(code) if code == self.status_code => Status::Pass, - Ok(code) => Status::Fail(Some(format!("Status code: {code}"))), - Err(err) => { - tracing::error!("HTTP request error: {err}"); - Status::Unknown - } - }; + let status = resp.map_or_else(Into::into, |r| match r.status().as_u16() { + c if c == self.status_code => Status::Ok, + c => Status::Error(Some(format!("Status code: {c}"))), + }); tx.send_if_modified(|s| s.update(status)); } |