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}"))?; 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(); let stderr = String::from_utf8_lossy(&output.stderr).to_string();
// curl exit 28 = timeout let msg = match output.status.code() {
let msg = if output.status.code() == Some(28) { Some(28) => format!("timed out after {:.0}s", timeout_secs),
format!("timed out after {:.0}s", timeout_secs) Some(6) => "DNS lookup failed".to_string(),
} else { Some(7) => "connection refused".to_string(),
stderr.trim().to_string() _ => stderr.trim().to_string(),
}; };
return Err(msg); return Err(msg);
} }