Reorganize fetch_secret error handling into a status match
https://claude.ai/code/session_01GfccpUReesMY5Rb4FhajhT
change
commit c4577c45178db4e59791d52e40a62e8955772c3f
author Claude <noreply@anthropic.com>
date
parent 416b33d8
diff --git a/quire-ci/src/main.rs b/quire-ci/src/main.rs
index 62f83e0..249a698 100644
--- a/quire-ci/src/main.rs
+++ b/quire-ci/src/main.rs
@@ -254,13 +254,16 @@ impl RunClient {
         let resp = self
             .get(&format!("secrets/{name}"))
             .map_err(|e| SecretError::Resolve(Arc::new(e)))?;
-        if resp.status() == reqwest::StatusCode::NOT_FOUND {
-            return Err(SecretError::UnknownSecret(name.to_string()));
+        match resp.status() {
+            s if s.is_success() => resp
+                .json::<SecretResponse>()
+                .map(|r| r.value)
+                .map_err(|e| SecretError::Resolve(Arc::new(e))),
+            reqwest::StatusCode::NOT_FOUND => Err(SecretError::UnknownSecret(name.to_string())),
+            _ => Err(SecretError::Resolve(Arc::new(
+                resp.error_for_status().unwrap_err(),
+            ))),
         }
-        resp.error_for_status()
-            .and_then(|r| r.json::<SecretResponse>())
-            .map(|r| r.value)
-            .map_err(|e| SecretError::Resolve(Arc::new(e)))
     }
 }