Improve error handling if enqueuing paths failed

This commit is contained in:
Cole Helbling 2024-01-18 14:21:20 -08:00
parent 3cb4c6dbe0
commit 04197c7742

View file

@ -337,16 +337,36 @@ async fn post_build_hook(out_paths: &str) {
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.body(serde_json::to_string(&request).unwrap()) .body(serde_json::to_string(&request).unwrap())
.send() .send()
.await .await;
.unwrap();
if !response.status().is_success() { let mut err_message = None;
eprintln!( match response {
"magic-nix-cache server failed to enqueue the push request: {}", Ok(response) if !response.status().is_success() => {
response.status() err_message = Some(format!(
); "magic-nix-cache server failed to enqueue the push request: {}",
} else { response.status()
response.json::<api::EnqueuePathsResponse>().await.unwrap(); ));
}
Ok(response) => {
let enqueue_paths_response = response.json::<api::EnqueuePathsResponse>().await;
if let Err(err) = enqueue_paths_response {
err_message = Some(format!(
"magic-nix-cache-server didn't return a valid response: {}",
err
))
}
}
Err(err) => {
err_message = Some(format!(
"magic-nix-cache server failed to send the enqueue request: {}",
err
));
}
}
if let Some(err_message) = err_message {
eprintln!("{err_message}");
std::process::exit(1);
} }
} }