@whatwg-node/node-fetch 0.7.6-alpha-20250109001305-3002f5a56f2e1931522968b3d6eb544aa91559b6 → 0.7.6-alpha-20250109232708-2991d90eb21112e812c9058f8263208dd56c7280

Sign up to get free protection for your applications and to get access to all the features.
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-alpha-20250109001305-3002f5a56f2e1931522968b3d6eb544aa91559b6",
3
+ "version": "0.7.6-alpha-20250109232708-2991d90eb21112e812c9058f8263208dd56c7280",
4
4
  "description": "Fetch API implementation for Node",
5
5
  "sideEffects": false,
6
6
  "dependencies": {