From fc13e894935977251bfe151c18259f83409e504a Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Wed, 6 May 2026 12:43:05 +0200 Subject: [PATCH] feat: make node agent keep-alive settings configurable Expose Node HTTP/HTTPS agent options in ClientOptions so integrators can tune keep-alive behavior and socket pool limits to reduce EMFILE risk under load. Co-authored-by: Cursor --- src/client.ts | 24 +++++++++++++++++-- test/unit/node/client_test.js | 43 +++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 2 deletions(-) diff --git a/src/client.ts b/src/client.ts index 4e1531e1..7c47fa63 100644 --- a/src/client.ts +++ b/src/client.ts @@ -61,10 +61,16 @@ export type ClientOptions = { expireTokens?: boolean; fayeUrl?: string; group?: string; + httpAgent?: http.Agent; + httpsAgent?: https.Agent; keepAlive?: boolean; + keepAliveMsecs?: number; local?: boolean; location?: string; + maxFreeSockets?: number; + maxSockets?: number; protocol?: string; + scheduling?: 'fifo' | 'lifo'; timeout?: number; urlOverride?: Record; version?: string; @@ -272,9 +278,23 @@ export class StreamClient