From 5011f7d02dfa4fa7baceecd5afda5a48b864bbba Mon Sep 17 00:00:00 2001 From: Bob Qiu Date: Thu, 8 Oct 2026 14:31:22 +0800 Subject: [PATCH] refactor(delayResponse): clamp reply delay to MAX_REPLY_DELAY_MS in echo, event-stream, and mcp servers --- packages/insomnia-test/misc/echo-server.js | 5 +++-- packages/insomnia-test/misc/event-stream-server.js | 5 +++-- packages/insomnia-test/misc/mcp-server.js | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/insomnia-test/misc/echo-server.js b/packages/insomnia-test/misc/echo-server.js index 55f323a6ae..280a3bf8ec 100644 --- a/packages/insomnia-test/misc/echo-server.js +++ b/packages/insomnia-test/misc/echo-server.js @@ -99,8 +99,9 @@ const MAX_REPLY_DELAY_MS = 60_000; function delayResponse(req) { const delayMs = Number(req.headers["x-reply-delay-ms"]); - if (!Number.isFinite(delayMs) || delayMs <= 0 || delayMs > MAX_REPLY_DELAY_MS) return Promise.resolve(); - return new Promise((resolve) => setTimeout(resolve, delayMs)); + if (!Number.isFinite(delayMs) || delayMs <= 0) return Promise.resolve(); + const clampedDelayMs = Math.min(delayMs, MAX_REPLY_DELAY_MS); + return new Promise((resolve) => setTimeout(resolve, clampedDelayMs)); } function parseCookies(header) { diff --git a/packages/insomnia-test/misc/event-stream-server.js b/packages/insomnia-test/misc/event-stream-server.js index 899aebe06e..c6222b8bb8 100644 --- a/packages/insomnia-test/misc/event-stream-server.js +++ b/packages/insomnia-test/misc/event-stream-server.js @@ -15,8 +15,9 @@ const MAX_REPLY_DELAY_MS = 60_000; function delayResponse(req) { const delayMs = Number(req.headers["x-reply-delay-ms"]); - if (!Number.isFinite(delayMs) || delayMs <= 0 || delayMs > MAX_REPLY_DELAY_MS) return Promise.resolve(); - return new Promise((resolve) => setTimeout(resolve, delayMs)); + if (!Number.isFinite(delayMs) || delayMs <= 0) return Promise.resolve(); + const clampedDelayMs = Math.min(delayMs, MAX_REPLY_DELAY_MS); + return new Promise((resolve) => setTimeout(resolve, clampedDelayMs)); } async function handleRequest(req, res) { diff --git a/packages/insomnia-test/misc/mcp-server.js b/packages/insomnia-test/misc/mcp-server.js index 4a26a31a1f..b9beb61f1d 100644 --- a/packages/insomnia-test/misc/mcp-server.js +++ b/packages/insomnia-test/misc/mcp-server.js @@ -92,8 +92,9 @@ const MAX_REPLY_DELAY_MS = 60_000; async function delayResponse(req) { const delayMs = Number(req.headers["x-reply-delay-ms"]); - if (!Number.isFinite(delayMs) || delayMs <= 0 || delayMs > MAX_REPLY_DELAY_MS) return; - await new Promise((resolve) => setTimeout(resolve, delayMs)); + if (!Number.isFinite(delayMs) || delayMs <= 0) return; + const clampedDelayMs = Math.min(delayMs, MAX_REPLY_DELAY_MS); + await new Promise((resolve) => setTimeout(resolve, clampedDelayMs)); } app.post("/mcp", async (req, res) => {