mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 12:56:01 -06:00
fix: parse handshake timeout env strictly
This commit is contained in:
@@ -94,6 +94,16 @@ describe("gateway handshake timeouts", () => {
|
||||
VITEST: "1",
|
||||
}),
|
||||
).toBe(DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS);
|
||||
expect(
|
||||
getPreauthHandshakeTimeoutMsFromEnv({
|
||||
OPENCLAW_HANDSHAKE_TIMEOUT_MS: "1e3",
|
||||
}),
|
||||
).toBe(DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS);
|
||||
expect(
|
||||
getPreauthHandshakeTimeoutMsFromEnv({
|
||||
OPENCLAW_HANDSHAKE_TIMEOUT_MS: "0x10",
|
||||
}),
|
||||
).toBe(DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS);
|
||||
});
|
||||
|
||||
test("getConnectChallengeTimeoutMsFromEnv reads OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS", () => {
|
||||
@@ -104,6 +114,12 @@ describe("gateway handshake timeouts", () => {
|
||||
expect(
|
||||
getConnectChallengeTimeoutMsFromEnv({ OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS: "garbage" }),
|
||||
).toBeUndefined();
|
||||
expect(
|
||||
getConnectChallengeTimeoutMsFromEnv({ OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS: "1e3" }),
|
||||
).toBeUndefined();
|
||||
expect(
|
||||
getConnectChallengeTimeoutMsFromEnv({ OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS: "0x10" }),
|
||||
).toBeUndefined();
|
||||
});
|
||||
|
||||
test("resolveConnectChallengeTimeoutMs falls back to env override", () => {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { parseStrictPositiveInteger } from "../infra/parse-finite-number.js";
|
||||
|
||||
export const DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS = 15_000;
|
||||
export const MIN_CONNECT_CHALLENGE_TIMEOUT_MS = 250;
|
||||
export const MAX_CONNECT_CHALLENGE_TIMEOUT_MS = DEFAULT_PREAUTH_HANDSHAKE_TIMEOUT_MS;
|
||||
@@ -17,8 +19,8 @@ export function getConnectChallengeTimeoutMsFromEnv(
|
||||
): number | undefined {
|
||||
const raw = env.OPENCLAW_CONNECT_CHALLENGE_TIMEOUT_MS;
|
||||
if (raw) {
|
||||
const parsed = Number(raw);
|
||||
if (Number.isFinite(parsed) && parsed > 0) {
|
||||
const parsed = parseStrictPositiveInteger(raw);
|
||||
if (parsed !== undefined) {
|
||||
return parsed;
|
||||
}
|
||||
}
|
||||
@@ -57,8 +59,8 @@ export function getPreauthHandshakeTimeoutMsFromEnv(env: NodeJS.ProcessEnv = pro
|
||||
const configuredTimeout =
|
||||
env.OPENCLAW_HANDSHAKE_TIMEOUT_MS || (env.VITEST && env.OPENCLAW_TEST_HANDSHAKE_TIMEOUT_MS);
|
||||
if (configuredTimeout) {
|
||||
const parsed = Number(configuredTimeout);
|
||||
if (Number.isFinite(parsed) && parsed > 0) {
|
||||
const parsed = parseStrictPositiveInteger(configuredTimeout);
|
||||
if (parsed !== undefined) {
|
||||
return parsed;
|
||||
}
|
||||
}
|
||||
@@ -73,8 +75,8 @@ export function resolvePreauthHandshakeTimeoutMs(params?: {
|
||||
const configuredTimeout =
|
||||
env.OPENCLAW_HANDSHAKE_TIMEOUT_MS || (env.VITEST && env.OPENCLAW_TEST_HANDSHAKE_TIMEOUT_MS);
|
||||
if (configuredTimeout) {
|
||||
const parsed = Number(configuredTimeout);
|
||||
if (Number.isFinite(parsed) && parsed > 0) {
|
||||
const parsed = parseStrictPositiveInteger(configuredTimeout);
|
||||
if (parsed !== undefined) {
|
||||
return parsed;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user