fix: allow null status_code in ingest schema; check HTTP status in post_result
This commit is contained in:
parent
5037222846
commit
6e1d642c77
|
|
@ -97,8 +97,8 @@ export const ingest = new Elysia()
|
||||||
monitor_id: t.String(),
|
monitor_id: t.String(),
|
||||||
scheduled_at: t.Optional(t.Nullable(t.String())),
|
scheduled_at: t.Optional(t.Nullable(t.String())),
|
||||||
jitter_ms: t.Optional(t.Nullable(t.Number())),
|
jitter_ms: t.Optional(t.Nullable(t.Number())),
|
||||||
status_code: t.Optional(t.Number()),
|
status_code: t.Optional(t.Nullable(t.Number())),
|
||||||
latency_ms: t.Optional(t.Number()),
|
latency_ms: t.Optional(t.Nullable(t.Number())),
|
||||||
up: t.Boolean(),
|
up: t.Boolean(),
|
||||||
error: t.Optional(t.Nullable(t.String())),
|
error: t.Optional(t.Nullable(t.String())),
|
||||||
cert_expiry_days: t.Optional(t.Nullable(t.Number())),
|
cert_expiry_days: t.Optional(t.Nullable(t.Number())),
|
||||||
|
|
|
||||||
|
|
@ -342,7 +342,7 @@ async fn post_result(
|
||||||
token: &str,
|
token: &str,
|
||||||
result: PingResult,
|
result: PingResult,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
tokio::time::timeout(
|
let resp = tokio::time::timeout(
|
||||||
std::time::Duration::from_secs(10),
|
std::time::Duration::from_secs(10),
|
||||||
client
|
client
|
||||||
.post(format!("{coordinator_url}/internal/ingest"))
|
.post(format!("{coordinator_url}/internal/ingest"))
|
||||||
|
|
@ -352,5 +352,11 @@ async fn post_result(
|
||||||
).await
|
).await
|
||||||
.map_err(|_| anyhow::anyhow!("post_result timed out"))?
|
.map_err(|_| anyhow::anyhow!("post_result timed out"))?
|
||||||
.map_err(|e| anyhow::anyhow!("{e}"))?;
|
.map_err(|e| anyhow::anyhow!("{e}"))?;
|
||||||
|
|
||||||
|
if !resp.status().is_success() {
|
||||||
|
let status = resp.status();
|
||||||
|
let body = resp.text().await.unwrap_or_default();
|
||||||
|
return Err(anyhow::anyhow!("ingest returned {status}: {body}"));
|
||||||
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue