fix: correctly handle curl non-zero exit codes as errors

This commit is contained in:
M1 2026-03-18 12:55:00 +04:00
parent 5730a3cb83
commit 554d95cfb4
1 changed files with 6 additions and 6 deletions

View File

@ -194,13 +194,13 @@ async fn run_curl(
let output = cmd.output().await.map_err(|e| format!("curl exec error: {e}"))?;
if !output.status.success() && output.stdout.is_empty() {
if !output.status.success() {
let stderr = String::from_utf8_lossy(&output.stderr).to_string();
// curl exit 28 = timeout
let msg = if output.status.code() == Some(28) {
format!("timed out after {:.0}s", timeout_secs)
} else {
stderr.trim().to_string()
let msg = match output.status.code() {
Some(28) => format!("timed out after {:.0}s", timeout_secs),
Some(6) => "DNS lookup failed".to_string(),
Some(7) => "connection refused".to_string(),
_ => stderr.trim().to_string(),
};
return Err(msg);
}