@whatwg-node/node-fetch 0.7.6-rc-20250109001908-2763333f2758fe56d17575b33ae4422355df6819 → 0.7.6-rc-20250109194034-4a9c9e12475f34596f1226fd937e6d8eb11f410e

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/cjs/fetchCurl.js CHANGED
@@ -63,17 +63,18 @@ function fetchCurl(fetchRequest) {
63
63
  curlHandle.enable(CurlFeature.NoHeaderParsing);
64
64
  const deferredPromise = (0, utils_js_1.createDeferredPromise)();
65
65
  let streamResolved;
66
- if (fetchRequest['_signal']) {
67
- fetchRequest['_signal'].onabort = () => {
68
- if (curlHandle.isOpen) {
69
- try {
70
- curlHandle.pause(CurlPause.Recv);
71
- }
72
- catch (e) {
73
- deferredPromise.reject(e);
74
- }
66
+ function onAbort() {
67
+ if (curlHandle.isOpen) {
68
+ try {
69
+ curlHandle.pause(CurlPause.Recv);
70
+ }
71
+ catch (e) {
72
+ deferredPromise.reject(e);
75
73
  }
76
- };
74
+ }
75
+ }
76
+ if (fetchRequest['_signal']) {
77
+ fetchRequest['_signal'].addEventListener('abort', onAbort, { once: true });
77
78
  }
78
79
  curlHandle.once('end', function endListener() {
79
80
  try {
@@ -82,6 +83,9 @@ function fetchCurl(fetchRequest) {
82
83
  catch (e) {
83
84
  deferredPromise.reject(e);
84
85
  }
86
+ if (fetchRequest['_signal']) {
87
+ fetchRequest['_signal'].removeEventListener('abort', onAbort);
88
+ }
85
89
  });
86
90
  curlHandle.once('error', function errorListener(error) {
87
91
  if (streamResolved && !streamResolved.closed && !streamResolved.destroyed) {
package/esm/fetchCurl.js CHANGED
@@ -60,17 +60,18 @@ export function fetchCurl(fetchRequest) {
60
60
  curlHandle.enable(CurlFeature.NoHeaderParsing);
61
61
  const deferredPromise = createDeferredPromise();
62
62
  let streamResolved;
63
- if (fetchRequest['_signal']) {
64
- fetchRequest['_signal'].onabort = () => {
65
- if (curlHandle.isOpen) {
66
- try {
67
- curlHandle.pause(CurlPause.Recv);
68
- }
69
- catch (e) {
70
- deferredPromise.reject(e);
71
- }
63
+ function onAbort() {
64
+ if (curlHandle.isOpen) {
65
+ try {
66
+ curlHandle.pause(CurlPause.Recv);
67
+ }
68
+ catch (e) {
69
+ deferredPromise.reject(e);
72
70
  }
73
- };
71
+ }
72
+ }
73
+ if (fetchRequest['_signal']) {
74
+ fetchRequest['_signal'].addEventListener('abort', onAbort, { once: true });
74
75
  }
75
76
  curlHandle.once('end', function endListener() {
76
77
  try {
@@ -79,6 +80,9 @@ export function fetchCurl(fetchRequest) {
79
80
  catch (e) {
80
81
  deferredPromise.reject(e);
81
82
  }
83
+ if (fetchRequest['_signal']) {
84
+ fetchRequest['_signal'].removeEventListener('abort', onAbort);
85
+ }
82
86
  });
83
87
  curlHandle.once('error', function errorListener(error) {
84
88
  if (streamResolved && !streamResolved.closed && !streamResolved.destroyed) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whatwg-node/node-fetch",
3
- "version": "0.7.6-rc-20250109001908-2763333f2758fe56d17575b33ae4422355df6819",
3
+ "version": "0.7.6-rc-20250109194034-4a9c9e12475f34596f1226fd937e6d8eb11f410e",
4
4
  "description": "Fetch API implementation for Node",
5
5
  "sideEffects": false,
6
6
  "dependencies": {