kinetex 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +919 -445
  2. package/dist/browser/kinetex.esm.js +18 -18
  3. package/dist/browser/kinetex.js +663 -246
  4. package/dist/browser/kinetex.min.js +18 -18
  5. package/dist/cjs/aws-sigv4.js +4 -1
  6. package/dist/cjs/cache.js +52 -14
  7. package/dist/cjs/circuit-breaker.js +24 -4
  8. package/dist/cjs/client.js +495 -131
  9. package/dist/cjs/cookie-parser.js +7 -4
  10. package/dist/cjs/cookie-store.js +16 -8
  11. package/dist/cjs/core.js +46 -7
  12. package/dist/cjs/dedup.js +9 -7
  13. package/dist/cjs/digest.js +26 -0
  14. package/dist/cjs/headers.js +64 -8
  15. package/dist/cjs/interceptors.js +64 -22
  16. package/dist/cjs/logging.js +1 -1
  17. package/dist/cjs/pagination.js +14 -6
  18. package/dist/cjs/progress.js +122 -42
  19. package/dist/cjs/socks5.js +36 -21
  20. package/dist/cjs/sse.js +48 -11
  21. package/dist/cjs/worker.js +6 -6
  22. package/dist/cjs/ws.js +13 -6
  23. package/dist/esm/aws-sigv4.js +4 -1
  24. package/dist/esm/aws-sigv4.js.map +1 -1
  25. package/dist/esm/cache.js +52 -14
  26. package/dist/esm/cache.js.map +1 -1
  27. package/dist/esm/circuit-breaker.js +24 -4
  28. package/dist/esm/circuit-breaker.js.map +1 -1
  29. package/dist/esm/client.js +495 -131
  30. package/dist/esm/client.js.map +1 -1
  31. package/dist/esm/cookie-parser.js +7 -4
  32. package/dist/esm/cookie-parser.js.map +1 -1
  33. package/dist/esm/cookie-store.js +16 -8
  34. package/dist/esm/cookie-store.js.map +1 -1
  35. package/dist/esm/core.js +46 -7
  36. package/dist/esm/core.js.map +1 -1
  37. package/dist/esm/dedup.js +9 -7
  38. package/dist/esm/dedup.js.map +1 -1
  39. package/dist/esm/digest.js +26 -0
  40. package/dist/esm/digest.js.map +1 -1
  41. package/dist/esm/headers.js +64 -8
  42. package/dist/esm/headers.js.map +1 -1
  43. package/dist/esm/interceptors.js +64 -22
  44. package/dist/esm/interceptors.js.map +1 -1
  45. package/dist/esm/logging.js +1 -1
  46. package/dist/esm/pagination.js +14 -6
  47. package/dist/esm/pagination.js.map +1 -1
  48. package/dist/esm/progress.js +122 -42
  49. package/dist/esm/progress.js.map +1 -1
  50. package/dist/esm/socks5.js +36 -21
  51. package/dist/esm/socks5.js.map +1 -1
  52. package/dist/esm/sse.js +48 -11
  53. package/dist/esm/sse.js.map +1 -1
  54. package/dist/esm/types.js.map +1 -1
  55. package/dist/esm/worker.js +6 -6
  56. package/dist/esm/worker.js.map +1 -1
  57. package/dist/esm/ws.js +13 -6
  58. package/dist/esm/ws.js.map +1 -1
  59. package/dist/types/aws-sigv4.d.ts.map +1 -1
  60. package/dist/types/cache.d.ts +8 -1
  61. package/dist/types/cache.d.ts.map +1 -1
  62. package/dist/types/circuit-breaker.d.ts.map +1 -1
  63. package/dist/types/client.d.ts +29 -12
  64. package/dist/types/client.d.ts.map +1 -1
  65. package/dist/types/cookie-parser.d.ts.map +1 -1
  66. package/dist/types/cookie-store.d.ts.map +1 -1
  67. package/dist/types/core.d.ts +6 -0
  68. package/dist/types/core.d.ts.map +1 -1
  69. package/dist/types/dedup.d.ts +0 -7
  70. package/dist/types/dedup.d.ts.map +1 -1
  71. package/dist/types/digest.d.ts +14 -0
  72. package/dist/types/digest.d.ts.map +1 -1
  73. package/dist/types/headers.d.ts +25 -10
  74. package/dist/types/headers.d.ts.map +1 -1
  75. package/dist/types/interceptors.d.ts.map +1 -1
  76. package/dist/types/logging.d.ts +1 -1
  77. package/dist/types/pagination.d.ts.map +1 -1
  78. package/dist/types/progress.d.ts.map +1 -1
  79. package/dist/types/socks5.d.ts.map +1 -1
  80. package/dist/types/sse.d.ts.map +1 -1
  81. package/dist/types/types.d.ts +25 -2
  82. package/dist/types/types.d.ts.map +1 -1
  83. package/dist/types/worker.d.ts +6 -6
  84. package/dist/types/worker.d.ts.map +1 -1
  85. package/dist/types/ws.d.ts.map +1 -1
  86. package/package.json +2 -2
@@ -178,41 +178,65 @@ export function withUploadProgress(body, total, options = {}) {
178
178
  },
179
179
  });
180
180
  }
181
+ // PULL-BASED, not start()-based. The old implementation drained the whole
182
+ // source inside start(), enqueueing every chunk before the transport read a
183
+ // single byte — a large upload was fully buffered in memory and the
184
+ // ReadableStream highWaterMark bought nothing. pull() reads one chunk per
185
+ // demand, so backpressure reaches the source.
186
+ let reader = null;
187
+ let onUploadAbort = null;
188
+ const detach = () => {
189
+ if (onUploadAbort) {
190
+ options.signal?.removeEventListener("abort", onUploadAbort);
191
+ onUploadAbort = null;
192
+ }
193
+ };
181
194
  const stream = new ReadableStream({
182
- async start(controller) {
183
- const reader = source.getReader();
195
+ start(controller) {
184
196
  // Handle already-aborted signal immediately
185
197
  if (options.signal?.aborted) {
186
- reader.cancel("aborted").catch(() => { });
187
198
  controller.error(new DOMException("Upload aborted", "AbortError"));
188
199
  return;
189
200
  }
190
- const onUploadAbort = () => {
191
- reader.cancel("aborted").catch(() => { });
201
+ reader = source.getReader();
202
+ onUploadAbort = () => {
203
+ const r = reader;
204
+ reader = null;
205
+ void r?.cancel("aborted").catch(() => { });
206
+ tracker.complete();
192
207
  controller.error(new DOMException("Upload aborted", "AbortError"));
193
208
  };
194
- // Removed in the stream's finally block so repeated uploads sharing one
195
- // signal do not accumulate listeners (leak fix).
209
+ // Removed in detach() on close/cancel/error so repeated uploads sharing
210
+ // one signal do not accumulate listeners (leak fix).
196
211
  options.signal?.addEventListener("abort", onUploadAbort, { once: true });
212
+ },
213
+ async pull(controller) {
214
+ if (!reader)
215
+ return;
197
216
  try {
198
- while (true) {
199
- const { done, value } = await reader.read();
200
- if (done) {
201
- tracker.complete();
202
- controller.close();
203
- break;
204
- }
205
- tracker.update(value.byteLength);
206
- controller.enqueue(value);
217
+ const { done, value } = await reader.read();
218
+ if (done) {
219
+ detach();
220
+ reader.releaseLock();
221
+ reader = null;
222
+ tracker.complete();
223
+ controller.close();
224
+ return;
207
225
  }
226
+ tracker.update(value.byteLength);
227
+ controller.enqueue(value);
208
228
  }
209
229
  catch (err) {
230
+ detach();
210
231
  tracker.complete();
211
232
  controller.error(err);
212
233
  }
213
- finally {
214
- options.signal?.removeEventListener("abort", onUploadAbort);
215
- }
234
+ },
235
+ cancel(reason) {
236
+ detach();
237
+ const r = reader;
238
+ reader = null;
239
+ void r?.cancel(reason).catch(() => { });
216
240
  },
217
241
  });
218
242
  return { stream, tracker };
@@ -246,44 +270,67 @@ export function withDownloadProgress(response, options = {}) {
246
270
  return { response, tracker };
247
271
  }
248
272
  const body = response.body;
273
+ // PULL-BASED for the same reason as withUploadProgress: the start()-based
274
+ // version buffered the entire download in memory before the consumer read it.
275
+ let reader = null;
276
+ let aborted = false;
277
+ let onAbort = null;
278
+ const detach = () => {
279
+ if (onAbort) {
280
+ options.signal?.removeEventListener("abort", onAbort);
281
+ onAbort = null;
282
+ }
283
+ };
249
284
  const trackedStream = new ReadableStream({
250
- async start(controller) {
251
- const reader = body.getReader();
252
- let aborted = false;
253
- const onAbort = () => {
285
+ start(controller) {
286
+ if (options.signal?.aborted) {
287
+ aborted = true;
288
+ controller.error(new DOMException("Download aborted", "AbortError"));
289
+ return;
290
+ }
291
+ reader = body.getReader();
292
+ onAbort = () => {
254
293
  if (aborted)
255
294
  return;
256
295
  aborted = true;
296
+ const r = reader;
297
+ reader = null;
257
298
  // Ensure tracker knows we're aborting (don't wait for complete)
258
- reader.cancel("aborted").catch(() => { });
299
+ void r?.cancel("aborted").catch(() => { });
259
300
  controller.error(new DOMException("Download aborted", "AbortError"));
260
301
  };
261
302
  options.signal?.addEventListener("abort", onAbort, { once: true });
303
+ },
304
+ async pull(controller) {
305
+ if (!reader)
306
+ return;
262
307
  try {
263
- while (true) {
264
- const { done, value } = await reader.read();
265
- if (done) {
266
- tracker.complete();
267
- controller.close();
268
- break;
269
- }
270
- tracker.update(value.byteLength);
271
- controller.enqueue(value);
308
+ const { done, value } = await reader.read();
309
+ if (done) {
310
+ detach();
311
+ reader.releaseLock();
312
+ reader = null;
313
+ tracker.complete();
314
+ controller.close();
315
+ return;
272
316
  }
317
+ tracker.update(value.byteLength);
318
+ controller.enqueue(value);
273
319
  }
274
320
  catch (err) {
321
+ detach();
275
322
  // Ensure tracker is marked as complete even on error
276
323
  if (!aborted) {
277
324
  tracker.complete();
278
325
  }
279
326
  controller.error(err);
280
327
  }
281
- finally {
282
- // Remove abort listener if not already triggered
283
- if (!aborted) {
284
- options.signal?.removeEventListener("abort", onAbort);
285
- }
286
- }
328
+ },
329
+ cancel(reason) {
330
+ detach();
331
+ const r = reader;
332
+ reader = null;
333
+ void r?.cancel(reason).catch(() => { });
287
334
  },
288
335
  });
289
336
  const trackedResponse = new Response(trackedStream, {
@@ -291,6 +338,21 @@ export function withDownloadProgress(response, options = {}) {
291
338
  statusText: response.statusText,
292
339
  headers: response.headers,
293
340
  });
341
+ // A reconstructed Response reports url === "" and redirected === false, which
342
+ // silently broke anything downstream that reads them. `url` and `redirected`
343
+ // are prototype getters, so shadow them with own properties on the instance.
344
+ for (const prop of ["url", "redirected", "type"]) {
345
+ try {
346
+ Object.defineProperty(trackedResponse, prop, {
347
+ value: response[prop],
348
+ enumerable: true,
349
+ configurable: true,
350
+ });
351
+ }
352
+ catch {
353
+ /* non-configurable in this runtime — leave the default in place */
354
+ }
355
+ }
294
356
  return { response: trackedResponse, tracker };
295
357
  }
296
358
  // ============================================================================
@@ -553,12 +615,23 @@ export function xhrFetch(url, options) {
553
615
  downloadTracker.update(e.loaded - downloadTracker.bytesLoaded);
554
616
  });
555
617
  }
556
- // Abort signal
557
- options.signal?.addEventListener("abort", () => {
618
+ // Abort signal. The listener is detached on settle: with `{ once: true }`
619
+ // it only self-removes when it actually fires, so a caller reusing one
620
+ // signal across many xhrFetch calls accumulated listeners — and each one
621
+ // kept the whole XHR + promise closures alive after the request finished.
622
+ const onAbort = () => {
558
623
  xhr.abort();
559
624
  reject(new DOMException("Request aborted", "AbortError"));
560
- }, { once: true });
625
+ };
626
+ const detach = () => options.signal?.removeEventListener("abort", onAbort);
627
+ options.signal?.addEventListener("abort", onAbort, { once: true });
628
+ if (options.signal?.aborted) {
629
+ detach();
630
+ onAbort();
631
+ return;
632
+ }
561
633
  xhr.addEventListener("load", () => {
634
+ detach();
562
635
  downloadTracker.complete();
563
636
  // Parse response headers
564
637
  const rawHeaders = xhr.getAllResponseHeaders();
@@ -577,11 +650,18 @@ export function xhrFetch(url, options) {
577
650
  });
578
651
  });
579
652
  xhr.addEventListener("error", () => {
653
+ detach();
580
654
  reject(new TypeError("Network request failed"));
581
655
  });
582
656
  xhr.addEventListener("timeout", () => {
657
+ detach();
583
658
  reject(new TypeError("Request timed out"));
584
659
  });
660
+ xhr.addEventListener("abort", () => {
661
+ // Covers aborts initiated from inside the XHR (not via the signal).
662
+ detach();
663
+ reject(new DOMException("Request aborted", "AbortError"));
664
+ });
585
665
  xhr.send(options.body ?? null);
586
666
  });
587
667
  }
@@ -501,31 +501,34 @@ export const denoTcpConnector = async (host, port, timeoutMs) => {
501
501
  // Type assertion for Deno global which has the connect method
502
502
  // Must use type assertion as Deno namespace is not in standard TypeScript types
503
503
  const denoGlobal = globalThis;
504
- let conn;
505
- if (timeoutMs && timeoutMs > 0) {
506
- // Wrap connect in a timeout race
507
- conn = await Promise.race([
508
- denoGlobal.Deno.connect({ hostname: host, port, transport: "tcp" }),
509
- new Promise((_, rej) => setTimeout(() => rej(new Socks5Error("TCP connect to proxy timed out", "SOCKS5_TIMEOUT", true)), timeoutMs)),
510
- ]);
511
- }
512
- else {
513
- conn = await denoGlobal.Deno.connect({ hostname: host, port, transport: "tcp" });
514
- }
515
- const wrappedRead = async (buf) => {
516
- if (timeoutMs && timeoutMs > 0) {
517
- return Promise.race([
518
- conn.read(buf).catch(() => null),
519
- new Promise((_, rej) => setTimeout(() => rej(new Socks5Error("TCP read timed out", "SOCKS5_TIMEOUT", true)), timeoutMs)),
520
- ]);
521
- }
504
+ // NOTE: every timeout below is created and cleared explicitly. The previous
505
+ // Promise.race timers were never cleared, so each read left a pending timer
506
+ // (holding a closure, and keeping the Deno event loop alive) for the full
507
+ // timeout window — one per chunk on a streaming tunnel.
508
+ const withTimeout = async (work, message) => {
509
+ if (!timeoutMs || timeoutMs <= 0)
510
+ return work;
511
+ let timer;
522
512
  try {
523
- return await conn.read(buf);
513
+ return await Promise.race([
514
+ work,
515
+ new Promise((_, rej) => {
516
+ timer = setTimeout(() => rej(new Socks5Error(message, "SOCKS5_TIMEOUT", true)), timeoutMs);
517
+ }),
518
+ ]);
524
519
  }
525
- catch {
526
- return null;
520
+ finally {
521
+ if (timer !== undefined)
522
+ clearTimeout(timer);
527
523
  }
528
524
  };
525
+ const conn = await withTimeout(denoGlobal.Deno.connect({ hostname: host, port, transport: "tcp" }), "TCP connect to proxy timed out");
526
+ // Not `async`: it returns withTimeout()'s promise directly, so there is no
527
+ // await to make the function async.
528
+ const wrappedRead = (buf) => {
529
+ const read = conn.read(buf).catch(() => null);
530
+ return withTimeout(read, "TCP read timed out");
531
+ };
529
532
  return {
530
533
  read: wrappedRead,
531
534
  write: (data) => conn.write(data),
@@ -590,7 +593,12 @@ export const nodeTcpConnector = (host, port, timeoutMs) => {
590
593
  buffer = next;
591
594
  flushBuffer();
592
595
  });
596
+ // Latch EOF. Without this, a read issued AFTER `end` parked forever:
597
+ // the socket will never emit data again, nothing rejects, and the caller
598
+ // hangs with no error. Callers now get an immediate null (clean EOF).
599
+ let ended = false;
593
600
  socket.on("end", () => {
601
+ ended = true;
594
602
  if (pendingRead) {
595
603
  pendingRead(null);
596
604
  pendingRead = null;
@@ -598,6 +606,9 @@ export const nodeTcpConnector = (host, port, timeoutMs) => {
598
606
  pendingBuf = null;
599
607
  }
600
608
  });
609
+ socket.on("close", () => {
610
+ ended = true;
611
+ });
601
612
  socket.once("error", (err) => {
602
613
  clearTimeout(timer);
603
614
  lastError = err;
@@ -616,6 +627,10 @@ export const nodeTcpConnector = (host, port, timeoutMs) => {
616
627
  rej(lastError);
617
628
  return;
618
629
  }
630
+ if (ended && buffer.length === 0) {
631
+ res(null);
632
+ return;
633
+ }
619
634
  if (buffer.length > 0) {
620
635
  const n = Math.min(buffer.length, buf.length);
621
636
  buf.set(buffer.subarray(0, n));
package/dist/cjs/sse.js CHANGED
@@ -455,9 +455,16 @@ export class SSEClient {
455
455
  }
456
456
  if (!cfg.reconnect)
457
457
  throw err;
458
- // Max reconnects reached
459
- if (cfg.maxReconnects > 0 && reconnectAttempt >= cfg.maxReconnects) {
460
- throw new SSEMaxReconnectsError(reconnectAttempt, cfg.url);
458
+ // Max reconnects reached.
459
+ //
460
+ // Checked against the number of reconnects actually performed, NOT
461
+ // `reconnectAttempt`. That counter is reset on every successful connect
462
+ // (so back-off restarts), which meant a server that accepted the
463
+ // connection and then dropped the stream reset the counter each time —
464
+ // the cap could never be reached and the client reconnected forever,
465
+ // regardless of maxReconnects. `attempts` is the real attempt count.
466
+ if (cfg.maxReconnects > 0 && this.health.totalReconnects >= cfg.maxReconnects) {
467
+ throw new SSEMaxReconnectsError(this.health.totalReconnects, cfg.url);
461
468
  }
462
469
  reconnectAttempt++;
463
470
  this.health.totalReconnects++;
@@ -472,7 +479,11 @@ export class SSEClient {
472
479
  clearTimeout(heartbeatTimer);
473
480
  heartbeatTimer = null;
474
481
  }
475
- await sleep(delay);
482
+ // Abortable: without the signal an abort() during back-off had to wait
483
+ // out the full delay (up to maxReconnectDelayMs) before being noticed.
484
+ await sleep(delay, cfg.signal);
485
+ if (cfg.signal?.aborted)
486
+ break;
476
487
  parser.reset();
477
488
  continue;
478
489
  }
@@ -480,21 +491,32 @@ export class SSEClient {
480
491
  this.health.connected = false;
481
492
  if (!cfg.reconnect)
482
493
  break;
483
- // Max reconnects reached (also checked in catch for error path)
484
- if (cfg.maxReconnects > 0 && reconnectAttempt >= cfg.maxReconnects) {
485
- throw new SSEMaxReconnectsError(reconnectAttempt, cfg.url);
494
+ // Max reconnects reached. Same reasoning as the error path above: the
495
+ // cap bounds reconnects performed, and a successful connect zeroes
496
+ // `reconnectAttempt`, so that counter cannot be used here.
497
+ if (cfg.maxReconnects > 0 && this.health.totalReconnects >= cfg.maxReconnects) {
498
+ throw new SSEMaxReconnectsError(this.health.totalReconnects, cfg.url);
486
499
  }
487
500
  // Reconnect after stream closed by server
488
501
  reconnectAttempt++;
489
502
  this.health.totalReconnects++;
490
- const delay = Math.min(reconnectDelay, cfg.maxReconnectDelayMs);
503
+ this.health.reconnectAttempt = reconnectAttempt;
504
+ // Same jitter formula as the error path — a clean server close used to
505
+ // reconnect with zero jitter, so every client in a fleet reconnected in
506
+ // lockstep after a server restart.
507
+ const delay = Math.min(reconnectDelay + reconnectDelay * cfg.reconnectJitter * Math.random(), cfg.maxReconnectDelayMs);
508
+ reconnectDelay = Math.min(reconnectDelay * 2, cfg.maxReconnectDelayMs);
491
509
  cfg.onReconnect(reconnectAttempt, delay);
492
510
  // Clear orphaned heartbeat timer before sleep to avoid firing during back-off
493
511
  if (heartbeatTimer) {
494
512
  clearTimeout(heartbeatTimer);
495
513
  heartbeatTimer = null;
496
514
  }
497
- await sleep(delay);
515
+ await sleep(delay, cfg.signal);
516
+ // Same as the error path: without this, a close()/abort() during a
517
+ // clean-close back-off was not noticed until the full delay elapsed.
518
+ if (cfg.signal?.aborted)
519
+ break;
498
520
  }
499
521
  this.health.connected = false;
500
522
  }
@@ -825,6 +847,21 @@ export function parseSSEText(text) {
825
847
  // ============================================================================
826
848
  // §10 UTILITIES
827
849
  // ============================================================================
828
- function sleep(ms) {
829
- return new Promise((r) => setTimeout(r, ms));
850
+ function sleep(ms, signal) {
851
+ return new Promise((r) => {
852
+ if (signal?.aborted) {
853
+ r();
854
+ return;
855
+ }
856
+ const onAbort = () => {
857
+ clearTimeout(timer);
858
+ signal?.removeEventListener("abort", onAbort);
859
+ r();
860
+ };
861
+ const timer = setTimeout(() => {
862
+ signal?.removeEventListener("abort", onAbort);
863
+ r();
864
+ }, ms);
865
+ signal?.addEventListener("abort", onAbort, { once: true });
866
+ });
830
867
  }
@@ -9,7 +9,9 @@
9
9
  * - FetchTransport (globalThis.fetch) is used automatically when IS_NODE is false.
10
10
  *
11
11
  * ⚠️ Features unavailable from this entry point (use main `mod.ts` instead):
12
- * - HTTP/2 (node:http2) — available in Node.js but not edge runtimes
12
+ * - HTTP/2 (node:http2) — this entry point always uses FetchTransport, so
13
+ * `httpVersion: "HTTP/2"` has no effect here even on a runtime where the
14
+ * main entry point would use it
13
15
  * - HTTPS agent options (node:tls) — Node.js only
14
16
  * - Custom Node.js-only transports (e.g., Undici, Node.js http/https agents)
15
17
  * - Some advanced interceptors that depend on Node.js APIs
@@ -42,13 +44,11 @@ import { Kinetex as _Kinetex } from "./client.js";
42
44
  * baseURL: "https://api.example.com",
43
45
  * auth: { type: "bearer", token: "my-token" },
44
46
  * });
45
- *
46
- * // HTTP/2 is supported for outgoing requests (when target server supports it)
47
- * const http2Client = kinetex({ httpVersion: "HTTP/2" });
48
47
  * ```
49
48
  *
50
- * Note: Default transport is `globalThis.fetch` which is available in all
51
- * edge runtimes. This entry point does not include Node.js-specific transports.
49
+ * Note: Default transport is `globalThis.fetch`, available in all edge
50
+ * runtimes. `httpVersion` defaults to HTTP/1.1 here; HTTP/2 requires the Node
51
+ * `node:http2` transport, which this entry point does not include.
52
52
  */
53
53
  export function kinetex(config = {}) {
54
54
  return new _Kinetex({ httpVersion: config.httpVersion ?? "HTTP/1.1", ...config });
package/dist/cjs/ws.js CHANGED
@@ -901,6 +901,15 @@ export class WSClient {
901
901
  return this._maxReconnects === 0 || this._reconnAttempt < this._maxReconnects;
902
902
  }
903
903
  _scheduleRecon() {
904
+ // Clear any pending reconnect first. Two paths can schedule one: the send
905
+ // -error path (which also calls ws.close(), firing `onclose` → schedule) and
906
+ // the `onclose` handler itself. Overwriting the handle without clearing it
907
+ // left the first timer alive, producing a duplicate connection and double
908
+ // -counted reconnect attempts on every send failure.
909
+ if (this._reconnTimer) {
910
+ clearTimeout(this._reconnTimer);
911
+ this._reconnTimer = null;
912
+ }
904
913
  this._state = "RECONNECTING";
905
914
  this._reconnAttempt++;
906
915
  const exp = this._reconnectBaseMs * Math.pow(2, this._reconnAttempt - 1);
@@ -908,15 +917,13 @@ export class WSClient {
908
917
  const delay = Math.floor(capped * (1 + this._reconnectJitter * Math.random()));
909
918
  this._cbReconnect?.(this._reconnAttempt, delay);
910
919
  this._reconnTimer = setTimeout(() => {
920
+ this._reconnTimer = null;
911
921
  if (!this._aborted)
912
922
  this._doConnect(true).catch(() => { });
913
923
  }, delay);
914
- // Allow Node.js process to exit even with pending timer
915
- if (typeof this._reconnTimer === "object" &&
916
- this._reconnTimer !== null &&
917
- "unref" in this._reconnTimer) {
918
- this._reconnTimer.unref();
919
- }
924
+ // NOTE: deliberately NOT unref()'d. `open()` waiters and `for await`
925
+ // consumers are suspended on this timer, and unref'ing a timer a pending
926
+ // promise depends on lets Node exit mid-reconnect.
920
927
  }
921
928
  _tx(data) {
922
929
  const ws = this._ws;
@@ -156,7 +156,10 @@ export function imdsCredentials(options = {}) {
156
156
  if (!role)
157
157
  throw new NetworkError("No IAM role found in IMDS response");
158
158
  // Step 3: Get credentials for role
159
- const credsRes = await fetchWithTimeout(`${endpoint}/latest/meta-data/iam/security-credentials/${role}`, { headers: { "x-aws-ec2-metadata-token": token } }, timeout);
159
+ // encodeURIComponent: the role name comes from the metadata response and
160
+ // was interpolated raw, so a `../` or `?` in it could redirect the
161
+ // credentials request to another path on the metadata endpoint.
162
+ const credsRes = await fetchWithTimeout(`${endpoint}/latest/meta-data/iam/security-credentials/${encodeURIComponent(role)}`, { headers: { "x-aws-ec2-metadata-token": token } }, timeout);
160
163
  if (!credsRes.ok)
161
164
  throw new NetworkError(`IMDS credentials fetch failed: ${credsRes.status}`);
162
165
  const data = (await credsRes.json());
@@ -1 +1 @@
1
- {"version":3,"file":"aws-sigv4.js","sourceRoot":"","sources":["../../src/aws-sigv4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aws-sigv4.js","sourceRoot":"","sources":["../../src/aws-sigv4.ts"],"names":[],"mappings":"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"}