mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 06:50:42 +00:00
24 lines
766 B
JavaScript
24 lines
766 B
JavaScript
const [url, expectedRaw = "200"] = process.argv.slice(2);
|
|
if (!url) {
|
|
throw new Error("usage: http-probe.mjs <url> [status|lt500]");
|
|
}
|
|
|
|
const timeoutMs = Number(process.env.OPENCLAW_HTTP_PROBE_TIMEOUT_MS ?? 30_000);
|
|
const controller = new AbortController();
|
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
|
|
try {
|
|
const headers = {};
|
|
if (process.env.OPENCLAW_HTTP_PROBE_BEARER) {
|
|
headers.authorization = `Bearer ${process.env.OPENCLAW_HTTP_PROBE_BEARER}`;
|
|
}
|
|
const res = await fetch(url, { headers, signal: controller.signal }).catch(() => null);
|
|
const ok =
|
|
expectedRaw === "lt500"
|
|
? Boolean(res && res.status < 500)
|
|
: res?.status === Number(expectedRaw);
|
|
process.exit(ok ? 0 : 1);
|
|
} finally {
|
|
clearTimeout(timer);
|
|
}
|