@smithy/fetch-http-handler 3.2.0 → 3.2.2

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.
package/dist-cjs/index.js CHANGED
@@ -118,6 +118,7 @@ var _FetchHttpHandler = class _FetchHttpHandler {
118
118
  if (keepAliveSupport.supported) {
119
119
  requestOptions.keepalive = keepAlive;
120
120
  }
121
+ let removeSignalEventListener = null;
121
122
  const fetchRequest = new Request(url, requestOptions);
122
123
  const raceOfPromises = [
123
124
  fetch(fetchRequest).then((response) => {
@@ -157,14 +158,16 @@ var _FetchHttpHandler = class _FetchHttpHandler {
157
158
  reject(abortError);
158
159
  }, "onAbort");
159
160
  if (typeof abortSignal.addEventListener === "function") {
160
- abortSignal.addEventListener("abort", onAbort);
161
+ const signal = abortSignal;
162
+ signal.addEventListener("abort", onAbort, { once: true });
163
+ removeSignalEventListener = /* @__PURE__ */ __name(() => signal.removeEventListener("abort", onAbort), "removeSignalEventListener");
161
164
  } else {
162
165
  abortSignal.onabort = onAbort;
163
166
  }
164
167
  })
165
168
  );
166
169
  }
167
- return Promise.race(raceOfPromises);
170
+ return Promise.race(raceOfPromises).finally(removeSignalEventListener);
168
171
  }
169
172
  updateHttpClientConfig(key, value) {
170
173
  this.config = void 0;
@@ -69,6 +69,7 @@ export class FetchHttpHandler {
69
69
  if (keepAliveSupport.supported) {
70
70
  requestOptions.keepalive = keepAlive;
71
71
  }
72
+ let removeSignalEventListener = null;
72
73
  const fetchRequest = new Request(url, requestOptions);
73
74
  const raceOfPromises = [
74
75
  fetch(fetchRequest).then((response) => {
@@ -107,14 +108,16 @@ export class FetchHttpHandler {
107
108
  reject(abortError);
108
109
  };
109
110
  if (typeof abortSignal.addEventListener === "function") {
110
- abortSignal.addEventListener("abort", onAbort);
111
+ const signal = abortSignal;
112
+ signal.addEventListener("abort", onAbort, { once: true });
113
+ removeSignalEventListener = () => signal.removeEventListener("abort", onAbort);
111
114
  }
112
115
  else {
113
116
  abortSignal.onabort = onAbort;
114
117
  }
115
118
  }));
116
119
  }
117
- return Promise.race(raceOfPromises);
120
+ return Promise.race(raceOfPromises).finally(removeSignalEventListener);
118
121
  }
119
122
  updateHttpClientConfig(key, value) {
120
123
  this.config = undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/fetch-http-handler",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "Provides a way to make requests",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
@@ -24,7 +24,7 @@
24
24
  "module": "./dist-es/index.js",
25
25
  "types": "./dist-types/index.d.ts",
26
26
  "dependencies": {
27
- "@smithy/protocol-http": "^4.0.3",
27
+ "@smithy/protocol-http": "^4.0.4",
28
28
  "@smithy/querystring-builder": "^3.0.3",
29
29
  "@smithy/types": "^3.3.0",
30
30
  "@smithy/util-base64": "^3.0.0",