fix: correctly handle curl non-zero exit codes as errors
This commit is contained in:
parent
5730a3cb83
commit
554d95cfb4
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue