From 554d95cfb428bc00aaf4a06879edb35028fa2993 Mon Sep 17 00:00:00 2001 From: M1 Date: Wed, 18 Mar 2026 12:55:00 +0400 Subject: [PATCH] fix: correctly handle curl non-zero exit codes as errors --- apps/monitor/src/runner.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/monitor/src/runner.rs b/apps/monitor/src/runner.rs index 9a1d051..3c58d67 100644 --- a/apps/monitor/src/runner.rs +++ b/apps/monitor/src/runner.rs @@ -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); }