From 331c224c9397a4151cc548e91c1ee7d98358c58b Mon Sep 17 00:00:00 2001 From: Anton Panasenko Date: Mon, 27 Oct 2025 11:05:42 -0700 Subject: [PATCH] [codex][sdk] Destroy active sockets when closing responses test proxy --- sdk/typescript/tests/responsesProxy.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sdk/typescript/tests/responsesProxy.ts b/sdk/typescript/tests/responsesProxy.ts index 6b8ee9bcac..0e2c60881f 100644 --- a/sdk/typescript/tests/responsesProxy.ts +++ b/sdk/typescript/tests/responsesProxy.ts @@ -1,4 +1,5 @@ import http from "node:http"; +import type { Socket } from "node:net"; const DEFAULT_RESPONSE_ID = "resp_mock"; const DEFAULT_MESSAGE_ID = "msg_mock"; @@ -86,6 +87,8 @@ export async function startResponsesTestProxy( let responseIndex = 0; + const sockets = new Set(); + const server = http.createServer((req, res) => { async function handle(): Promise { if (req.method === "POST" && req.url === "/responses") { @@ -116,6 +119,13 @@ export async function startResponsesTestProxy( }); }); + server.on("connection", (socket) => { + sockets.add(socket); + socket.on("close", () => { + sockets.delete(socket); + }); + }); + const url = await new Promise((resolve, reject) => { server.listen(0, "127.0.0.1", () => { const address = server.address(); @@ -131,6 +141,10 @@ export async function startResponsesTestProxy( }); async function close(): Promise { + for (const socket of Array.from(sockets)) { + socket.destroy(); + } + await new Promise((resolve, reject) => { server.close((err) => { if (err) {