@whatwg-node/server 0.9.63-alpha-20241212160430-140b66f028923f44368e67598b6b66f47f690454 → 0.9.63-rc-20241213082454-841c7fefb06e73c59003a91397fe3b1830666c7f

Sign up to get free protection for your applications and to get access to all the features.
@@ -186,7 +186,7 @@ function createServerAdapter(serverAdapterBaseObject, options) {
186
186
  const serverContext = filteredCtxParts.length > 0
187
187
  ? (0, utils_js_1.completeAssign)(defaultServerContext, ...ctx)
188
188
  : defaultServerContext;
189
- const ctrl = new fetchAPI.AbortController();
189
+ const signal = new utils_js_1.ServerAdapterRequestAbortSignal();
190
190
  const originalResEnd = res.end.bind(res);
191
191
  let resEnded = false;
192
192
  res.end = function (data) {
@@ -195,16 +195,16 @@ function createServerAdapter(serverAdapterBaseObject, options) {
195
195
  };
196
196
  const originalOnAborted = res.onAborted.bind(res);
197
197
  originalOnAborted(function () {
198
- ctrl.abort();
198
+ signal.sendAbort();
199
199
  });
200
200
  res.onAborted = function (cb) {
201
- ctrl.signal.addEventListener('abort', cb, { once: true });
201
+ signal.addEventListener('abort', cb);
202
202
  };
203
203
  const request = (0, uwebsockets_js_1.getRequestFromUWSRequest)({
204
204
  req,
205
205
  res,
206
206
  fetchAPI,
207
- ctrl,
207
+ signal,
208
208
  });
209
209
  let response$;
210
210
  try {
@@ -217,8 +217,8 @@ function createServerAdapter(serverAdapterBaseObject, options) {
217
217
  return response$
218
218
  .catch((e) => (0, utils_js_1.handleErrorFromRequestHandler)(e, fetchAPI.Response))
219
219
  .then(response => {
220
- if (!ctrl.signal.aborted && !resEnded) {
221
- return (0, uwebsockets_js_1.sendResponseToUwsOpts)(res, response, ctrl, fetchAPI);
220
+ if (!signal.aborted && !resEnded) {
221
+ return (0, uwebsockets_js_1.sendResponseToUwsOpts)(res, response, signal, fetchAPI);
222
222
  }
223
223
  })
224
224
  .catch(err => {
@@ -226,8 +226,8 @@ function createServerAdapter(serverAdapterBaseObject, options) {
226
226
  });
227
227
  }
228
228
  try {
229
- if (!ctrl.signal.aborted && !resEnded) {
230
- return (0, uwebsockets_js_1.sendResponseToUwsOpts)(res, response$, ctrl, fetchAPI);
229
+ if (!signal.aborted && !resEnded) {
230
+ return (0, uwebsockets_js_1.sendResponseToUwsOpts)(res, response$, signal, fetchAPI);
231
231
  }
232
232
  }
233
233
  catch (err) {
package/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Response = void 0;
3
+ exports.DisposableSymbols = exports.Response = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./createServerAdapter.js"), exports);
6
6
  tslib_1.__exportStar(require("./types.js"), exports);
@@ -12,3 +12,5 @@ tslib_1.__exportStar(require("./plugins/useContentEncoding.js"), exports);
12
12
  tslib_1.__exportStar(require("./uwebsockets.js"), exports);
13
13
  var fetch_1 = require("@whatwg-node/fetch");
14
14
  Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return fetch_1.Response; } });
15
+ var disposablestack_1 = require("@whatwg-node/disposablestack");
16
+ Object.defineProperty(exports, "DisposableSymbols", { enumerable: true, get: function () { return disposablestack_1.DisposableSymbols; } });
package/cjs/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decompressedResponseMap = exports.nodeRequestResponseMap = void 0;
3
+ exports.decompressedResponseMap = exports.nodeRequestResponseMap = exports.ServerAdapterRequestAbortSignal = void 0;
4
4
  exports.isAsyncIterable = isAsyncIterable;
5
5
  exports.normalizeNodeRequest = normalizeNodeRequest;
6
6
  exports.isReadable = isReadable;
@@ -69,9 +69,40 @@ function isRequestBody(body) {
69
69
  }
70
70
  return false;
71
71
  }
72
+ class ServerAdapterRequestAbortSignal extends EventTarget {
73
+ aborted = false;
74
+ _onabort = null;
75
+ reason;
76
+ throwIfAborted() {
77
+ if (this.aborted) {
78
+ throw this.reason;
79
+ }
80
+ }
81
+ sendAbort() {
82
+ this.reason = new DOMException('This operation was aborted', 'AbortError');
83
+ this.aborted = true;
84
+ this.dispatchEvent(new Event('abort'));
85
+ }
86
+ get onabort() {
87
+ return this._onabort;
88
+ }
89
+ set onabort(value) {
90
+ this._onabort = value;
91
+ if (value) {
92
+ this.addEventListener('abort', value);
93
+ }
94
+ else {
95
+ this.removeEventListener('abort', value);
96
+ }
97
+ }
98
+ any(signals) {
99
+ return AbortSignal.any([...signals]);
100
+ }
101
+ }
102
+ exports.ServerAdapterRequestAbortSignal = ServerAdapterRequestAbortSignal;
72
103
  let bunNodeCompatModeWarned = false;
73
104
  exports.nodeRequestResponseMap = new WeakMap();
74
- function normalizeNodeRequest(nodeRequest, fetchAPI, registerAbortCtrl) {
105
+ function normalizeNodeRequest(nodeRequest, fetchAPI, registerSignal) {
75
106
  const rawRequest = nodeRequest.raw || nodeRequest.req || nodeRequest;
76
107
  let fullUrl = buildFullUrl(rawRequest);
77
108
  if (nodeRequest.query) {
@@ -94,13 +125,23 @@ function normalizeNodeRequest(nodeRequest, fetchAPI, registerAbortCtrl) {
94
125
  }
95
126
  }
96
127
  if (nodeResponse?.once) {
97
- const controller = new fetchAPI.AbortController();
98
- signal = controller.signal;
99
- registerAbortCtrl?.(controller);
128
+ let sendAbortSignal;
129
+ // If ponyfilled
130
+ if (fetchAPI.Request !== globalThis.Request) {
131
+ const newSignal = new ServerAdapterRequestAbortSignal();
132
+ registerSignal?.(newSignal);
133
+ signal = newSignal;
134
+ sendAbortSignal = () => signal.sendAbort();
135
+ }
136
+ else {
137
+ const controller = new AbortController();
138
+ signal = controller.signal;
139
+ sendAbortSignal = () => controller.abort();
140
+ }
100
141
  const closeEventListener = () => {
101
142
  if (signal && !signal.aborted) {
102
143
  rawRequest.aborted = true;
103
- controller.abort();
144
+ sendAbortSignal();
104
145
  }
105
146
  };
106
147
  nodeResponse.once('error', closeEventListener);
@@ -437,7 +478,7 @@ function handleAbortSignalAndPromiseResponse(response$, abortSignal) {
437
478
  const deferred$ = createDeferredPromise();
438
479
  abortSignal.addEventListener('abort', function abortSignalFetchErrorHandler() {
439
480
  deferred$.reject(abortSignal.reason);
440
- }, { once: true });
481
+ });
441
482
  response$
442
483
  .then(function fetchSuccessHandler(res) {
443
484
  deferred$.resolve(res);
@@ -9,7 +9,7 @@ const utils_js_1 = require("./utils.js");
9
9
  function isUWSResponse(res) {
10
10
  return !!res.onData;
11
11
  }
12
- function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }) {
12
+ function getRequestFromUWSRequest({ req, res, fetchAPI, signal }) {
13
13
  const method = req.getMethod();
14
14
  let duplex;
15
15
  const chunks = [];
@@ -43,9 +43,9 @@ function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }) {
43
43
  let getReadableStream;
44
44
  if (method !== 'get' && method !== 'head') {
45
45
  duplex = 'half';
46
- ctrl.signal.addEventListener('abort', () => {
46
+ signal.addEventListener('abort', () => {
47
47
  stop();
48
- }, { once: true });
48
+ });
49
49
  let readableStream;
50
50
  getReadableStream = () => {
51
51
  if (!readableStream) {
@@ -97,7 +97,7 @@ function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }) {
97
97
  get body() {
98
98
  return getBody();
99
99
  },
100
- signal: ctrl.signal,
100
+ signal,
101
101
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
102
102
  // @ts-ignore - not in the TS types yet
103
103
  duplex,
@@ -171,14 +171,14 @@ function createWritableFromUWS(uwsResponse, fetchAPI) {
171
171
  },
172
172
  });
173
173
  }
174
- function sendResponseToUwsOpts(uwsResponse, fetchResponse, ctrl, fetchAPI) {
174
+ function sendResponseToUwsOpts(uwsResponse, fetchResponse, signal, fetchAPI) {
175
175
  if (!fetchResponse) {
176
176
  uwsResponse.writeStatus('404 Not Found');
177
177
  uwsResponse.end();
178
178
  return;
179
179
  }
180
180
  const bufferOfRes = fetchResponse._buffer;
181
- if (ctrl.signal.aborted) {
181
+ if (signal.aborted) {
182
182
  return;
183
183
  }
184
184
  uwsResponse.cork(() => {
@@ -208,17 +208,17 @@ function sendResponseToUwsOpts(uwsResponse, fetchResponse, ctrl, fetchAPI) {
208
208
  if (bufferOfRes || !fetchResponse.body) {
209
209
  return;
210
210
  }
211
- ctrl.signal.addEventListener('abort', () => {
211
+ signal.addEventListener('abort', () => {
212
212
  if (!fetchResponse.body?.locked) {
213
- fetchResponse.body?.cancel(ctrl.signal.reason);
213
+ fetchResponse.body?.cancel(signal.reason);
214
214
  }
215
- }, { once: true });
215
+ });
216
216
  return fetchResponse.body
217
217
  .pipeTo(createWritableFromUWS(uwsResponse, fetchAPI), {
218
- signal: ctrl.signal,
218
+ signal,
219
219
  })
220
220
  .catch(err => {
221
- if (ctrl.signal.aborted) {
221
+ if (signal.aborted) {
222
222
  return;
223
223
  }
224
224
  throw err;
@@ -1,6 +1,6 @@
1
1
  import { AsyncDisposableStack, DisposableSymbols } from '@whatwg-node/disposablestack';
2
2
  import * as DefaultFetchAPI from '@whatwg-node/fetch';
3
- import { completeAssign, ensureDisposableStackRegisteredForTerminateEvents, handleAbortSignalAndPromiseResponse, handleErrorFromRequestHandler, isFetchEvent, isNodeRequest, isolateObject, isPromise, isRequestInit, isServerResponse, iterateAsyncVoid, nodeRequestResponseMap, normalizeNodeRequest, sendNodeResponse, } from './utils.js';
3
+ import { completeAssign, ensureDisposableStackRegisteredForTerminateEvents, handleAbortSignalAndPromiseResponse, handleErrorFromRequestHandler, isFetchEvent, isNodeRequest, isolateObject, isPromise, isRequestInit, isServerResponse, iterateAsyncVoid, nodeRequestResponseMap, normalizeNodeRequest, sendNodeResponse, ServerAdapterRequestAbortSignal, } from './utils.js';
4
4
  import { fakePromise, getRequestFromUWSRequest, isUWSResponse, sendResponseToUwsOpts, } from './uwebsockets.js';
5
5
  // Required for envs like nextjs edge runtime
6
6
  function isRequestAccessible(serverContext) {
@@ -182,7 +182,7 @@ function createServerAdapter(serverAdapterBaseObject, options) {
182
182
  const serverContext = filteredCtxParts.length > 0
183
183
  ? completeAssign(defaultServerContext, ...ctx)
184
184
  : defaultServerContext;
185
- const ctrl = new fetchAPI.AbortController();
185
+ const signal = new ServerAdapterRequestAbortSignal();
186
186
  const originalResEnd = res.end.bind(res);
187
187
  let resEnded = false;
188
188
  res.end = function (data) {
@@ -191,16 +191,16 @@ function createServerAdapter(serverAdapterBaseObject, options) {
191
191
  };
192
192
  const originalOnAborted = res.onAborted.bind(res);
193
193
  originalOnAborted(function () {
194
- ctrl.abort();
194
+ signal.sendAbort();
195
195
  });
196
196
  res.onAborted = function (cb) {
197
- ctrl.signal.addEventListener('abort', cb, { once: true });
197
+ signal.addEventListener('abort', cb);
198
198
  };
199
199
  const request = getRequestFromUWSRequest({
200
200
  req,
201
201
  res,
202
202
  fetchAPI,
203
- ctrl,
203
+ signal,
204
204
  });
205
205
  let response$;
206
206
  try {
@@ -213,8 +213,8 @@ function createServerAdapter(serverAdapterBaseObject, options) {
213
213
  return response$
214
214
  .catch((e) => handleErrorFromRequestHandler(e, fetchAPI.Response))
215
215
  .then(response => {
216
- if (!ctrl.signal.aborted && !resEnded) {
217
- return sendResponseToUwsOpts(res, response, ctrl, fetchAPI);
216
+ if (!signal.aborted && !resEnded) {
217
+ return sendResponseToUwsOpts(res, response, signal, fetchAPI);
218
218
  }
219
219
  })
220
220
  .catch(err => {
@@ -222,8 +222,8 @@ function createServerAdapter(serverAdapterBaseObject, options) {
222
222
  });
223
223
  }
224
224
  try {
225
- if (!ctrl.signal.aborted && !resEnded) {
226
- return sendResponseToUwsOpts(res, response$, ctrl, fetchAPI);
225
+ if (!signal.aborted && !resEnded) {
226
+ return sendResponseToUwsOpts(res, response$, signal, fetchAPI);
227
227
  }
228
228
  }
229
229
  catch (err) {
package/esm/index.js CHANGED
@@ -7,3 +7,4 @@ export * from './plugins/useErrorHandling.js';
7
7
  export * from './plugins/useContentEncoding.js';
8
8
  export * from './uwebsockets.js';
9
9
  export { Response } from '@whatwg-node/fetch';
10
+ export { DisposableSymbols } from '@whatwg-node/disposablestack';
package/esm/utils.js CHANGED
@@ -47,9 +47,39 @@ function isRequestBody(body) {
47
47
  }
48
48
  return false;
49
49
  }
50
+ export class ServerAdapterRequestAbortSignal extends EventTarget {
51
+ aborted = false;
52
+ _onabort = null;
53
+ reason;
54
+ throwIfAborted() {
55
+ if (this.aborted) {
56
+ throw this.reason;
57
+ }
58
+ }
59
+ sendAbort() {
60
+ this.reason = new DOMException('This operation was aborted', 'AbortError');
61
+ this.aborted = true;
62
+ this.dispatchEvent(new Event('abort'));
63
+ }
64
+ get onabort() {
65
+ return this._onabort;
66
+ }
67
+ set onabort(value) {
68
+ this._onabort = value;
69
+ if (value) {
70
+ this.addEventListener('abort', value);
71
+ }
72
+ else {
73
+ this.removeEventListener('abort', value);
74
+ }
75
+ }
76
+ any(signals) {
77
+ return AbortSignal.any([...signals]);
78
+ }
79
+ }
50
80
  let bunNodeCompatModeWarned = false;
51
81
  export const nodeRequestResponseMap = new WeakMap();
52
- export function normalizeNodeRequest(nodeRequest, fetchAPI, registerAbortCtrl) {
82
+ export function normalizeNodeRequest(nodeRequest, fetchAPI, registerSignal) {
53
83
  const rawRequest = nodeRequest.raw || nodeRequest.req || nodeRequest;
54
84
  let fullUrl = buildFullUrl(rawRequest);
55
85
  if (nodeRequest.query) {
@@ -72,13 +102,23 @@ export function normalizeNodeRequest(nodeRequest, fetchAPI, registerAbortCtrl) {
72
102
  }
73
103
  }
74
104
  if (nodeResponse?.once) {
75
- const controller = new fetchAPI.AbortController();
76
- signal = controller.signal;
77
- registerAbortCtrl?.(controller);
105
+ let sendAbortSignal;
106
+ // If ponyfilled
107
+ if (fetchAPI.Request !== globalThis.Request) {
108
+ const newSignal = new ServerAdapterRequestAbortSignal();
109
+ registerSignal?.(newSignal);
110
+ signal = newSignal;
111
+ sendAbortSignal = () => signal.sendAbort();
112
+ }
113
+ else {
114
+ const controller = new AbortController();
115
+ signal = controller.signal;
116
+ sendAbortSignal = () => controller.abort();
117
+ }
78
118
  const closeEventListener = () => {
79
119
  if (signal && !signal.aborted) {
80
120
  rawRequest.aborted = true;
81
- controller.abort();
121
+ sendAbortSignal();
82
122
  }
83
123
  };
84
124
  nodeResponse.once('error', closeEventListener);
@@ -415,7 +455,7 @@ export function handleAbortSignalAndPromiseResponse(response$, abortSignal) {
415
455
  const deferred$ = createDeferredPromise();
416
456
  abortSignal.addEventListener('abort', function abortSignalFetchErrorHandler() {
417
457
  deferred$.reject(abortSignal.reason);
418
- }, { once: true });
458
+ });
419
459
  response$
420
460
  .then(function fetchSuccessHandler(res) {
421
461
  deferred$.resolve(res);
@@ -2,7 +2,7 @@ import { isPromise } from './utils.js';
2
2
  export function isUWSResponse(res) {
3
3
  return !!res.onData;
4
4
  }
5
- export function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }) {
5
+ export function getRequestFromUWSRequest({ req, res, fetchAPI, signal }) {
6
6
  const method = req.getMethod();
7
7
  let duplex;
8
8
  const chunks = [];
@@ -36,9 +36,9 @@ export function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }) {
36
36
  let getReadableStream;
37
37
  if (method !== 'get' && method !== 'head') {
38
38
  duplex = 'half';
39
- ctrl.signal.addEventListener('abort', () => {
39
+ signal.addEventListener('abort', () => {
40
40
  stop();
41
- }, { once: true });
41
+ });
42
42
  let readableStream;
43
43
  getReadableStream = () => {
44
44
  if (!readableStream) {
@@ -90,7 +90,7 @@ export function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }) {
90
90
  get body() {
91
91
  return getBody();
92
92
  },
93
- signal: ctrl.signal,
93
+ signal,
94
94
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
95
95
  // @ts-ignore - not in the TS types yet
96
96
  duplex,
@@ -164,14 +164,14 @@ export function createWritableFromUWS(uwsResponse, fetchAPI) {
164
164
  },
165
165
  });
166
166
  }
167
- export function sendResponseToUwsOpts(uwsResponse, fetchResponse, ctrl, fetchAPI) {
167
+ export function sendResponseToUwsOpts(uwsResponse, fetchResponse, signal, fetchAPI) {
168
168
  if (!fetchResponse) {
169
169
  uwsResponse.writeStatus('404 Not Found');
170
170
  uwsResponse.end();
171
171
  return;
172
172
  }
173
173
  const bufferOfRes = fetchResponse._buffer;
174
- if (ctrl.signal.aborted) {
174
+ if (signal.aborted) {
175
175
  return;
176
176
  }
177
177
  uwsResponse.cork(() => {
@@ -201,17 +201,17 @@ export function sendResponseToUwsOpts(uwsResponse, fetchResponse, ctrl, fetchAPI
201
201
  if (bufferOfRes || !fetchResponse.body) {
202
202
  return;
203
203
  }
204
- ctrl.signal.addEventListener('abort', () => {
204
+ signal.addEventListener('abort', () => {
205
205
  if (!fetchResponse.body?.locked) {
206
- fetchResponse.body?.cancel(ctrl.signal.reason);
206
+ fetchResponse.body?.cancel(signal.reason);
207
207
  }
208
- }, { once: true });
208
+ });
209
209
  return fetchResponse.body
210
210
  .pipeTo(createWritableFromUWS(uwsResponse, fetchAPI), {
211
- signal: ctrl.signal,
211
+ signal,
212
212
  })
213
213
  .catch(err => {
214
- if (ctrl.signal.aborted) {
214
+ if (signal.aborted) {
215
215
  return;
216
216
  }
217
217
  throw err;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@whatwg-node/server",
3
- "version": "0.9.63-alpha-20241212160430-140b66f028923f44368e67598b6b66f47f690454",
3
+ "version": "0.9.63-rc-20241213082454-841c7fefb06e73c59003a91397fe3b1830666c7f",
4
4
  "description": "Fetch API compliant HTTP Server adapter",
5
5
  "sideEffects": false,
6
6
  "dependencies": {
7
7
  "@whatwg-node/disposablestack": "^0.0.5",
8
- "@whatwg-node/fetch": "0.11.0-alpha-20241212160430-140b66f028923f44368e67598b6b66f47f690454",
8
+ "@whatwg-node/fetch": "^0.10.0",
9
9
  "tslib": "^2.6.3"
10
10
  },
11
11
  "repository": {
@@ -7,3 +7,4 @@ export * from './plugins/useErrorHandling.cjs';
7
7
  export * from './plugins/useContentEncoding.cjs';
8
8
  export * from './uwebsockets.cjs';
9
9
  export { Response } from '@whatwg-node/fetch';
10
+ export { DisposableSymbols } from '@whatwg-node/disposablestack';
@@ -7,3 +7,4 @@ export * from './plugins/useErrorHandling.js';
7
7
  export * from './plugins/useContentEncoding.js';
8
8
  export * from './uwebsockets.js';
9
9
  export { Response } from '@whatwg-node/fetch';
10
+ export { DisposableSymbols } from '@whatwg-node/disposablestack';
@@ -20,8 +20,18 @@ export interface NodeRequest {
20
20
  aborted?: boolean;
21
21
  }
22
22
  export type NodeResponse = ServerResponse | Http2ServerResponse;
23
+ export declare class ServerAdapterRequestAbortSignal extends EventTarget implements AbortSignal {
24
+ aborted: boolean;
25
+ private _onabort;
26
+ reason: any;
27
+ throwIfAborted(): void;
28
+ sendAbort(): void;
29
+ get onabort(): ((this: AbortSignal, ev: Event) => any) | null;
30
+ set onabort(value: ((this: AbortSignal, ev: Event) => any) | null);
31
+ any(signals: Iterable<AbortSignal>): AbortSignal;
32
+ }
23
33
  export declare const nodeRequestResponseMap: WeakMap<NodeRequest, NodeResponse>;
24
- export declare function normalizeNodeRequest(nodeRequest: NodeRequest, fetchAPI: FetchAPI, registerAbortCtrl?: (ctrl: AbortController) => void): Request;
34
+ export declare function normalizeNodeRequest(nodeRequest: NodeRequest, fetchAPI: FetchAPI, registerSignal?: (signal: ServerAdapterRequestAbortSignal) => void): Request;
25
35
  export declare function isReadable(stream: any): stream is Readable;
26
36
  export declare function isNodeRequest(request: any): request is NodeRequest;
27
37
  export declare function isServerResponse(stream: any): stream is NodeResponse;
@@ -20,8 +20,18 @@ export interface NodeRequest {
20
20
  aborted?: boolean;
21
21
  }
22
22
  export type NodeResponse = ServerResponse | Http2ServerResponse;
23
+ export declare class ServerAdapterRequestAbortSignal extends EventTarget implements AbortSignal {
24
+ aborted: boolean;
25
+ private _onabort;
26
+ reason: any;
27
+ throwIfAborted(): void;
28
+ sendAbort(): void;
29
+ get onabort(): ((this: AbortSignal, ev: Event) => any) | null;
30
+ set onabort(value: ((this: AbortSignal, ev: Event) => any) | null);
31
+ any(signals: Iterable<AbortSignal>): AbortSignal;
32
+ }
23
33
  export declare const nodeRequestResponseMap: WeakMap<NodeRequest, NodeResponse>;
24
- export declare function normalizeNodeRequest(nodeRequest: NodeRequest, fetchAPI: FetchAPI, registerAbortCtrl?: (ctrl: AbortController) => void): Request;
34
+ export declare function normalizeNodeRequest(nodeRequest: NodeRequest, fetchAPI: FetchAPI, registerSignal?: (signal: ServerAdapterRequestAbortSignal) => void): Request;
25
35
  export declare function isReadable(stream: any): stream is Readable;
26
36
  export declare function isNodeRequest(request: any): request is NodeRequest;
27
37
  export declare function isServerResponse(stream: any): stream is NodeResponse;
@@ -1,4 +1,5 @@
1
1
  import type { FetchAPI } from './types.cjs';
2
+ import { ServerAdapterRequestAbortSignal } from './utils.cjs';
2
3
  export interface UWSRequest {
3
4
  getMethod(): string;
4
5
  forEach(callback: (key: string, value: string) => void): void;
@@ -23,10 +24,10 @@ interface GetRequestFromUWSOpts {
23
24
  req: UWSRequest;
24
25
  res: UWSResponse;
25
26
  fetchAPI: FetchAPI;
26
- ctrl: AbortController;
27
+ signal: AbortSignal;
27
28
  }
28
- export declare function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }: GetRequestFromUWSOpts): Request;
29
+ export declare function getRequestFromUWSRequest({ req, res, fetchAPI, signal }: GetRequestFromUWSOpts): Request;
29
30
  export declare function createWritableFromUWS(uwsResponse: UWSResponse, fetchAPI: FetchAPI): WritableStream<any>;
30
- export declare function sendResponseToUwsOpts(uwsResponse: UWSResponse, fetchResponse: Response, ctrl: AbortController, fetchAPI: FetchAPI): Promise<void> | undefined;
31
+ export declare function sendResponseToUwsOpts(uwsResponse: UWSResponse, fetchResponse: Response, signal: ServerAdapterRequestAbortSignal, fetchAPI: FetchAPI): Promise<void> | undefined;
31
32
  export declare function fakePromise<T>(value: T): Promise<T>;
32
33
  export {};
@@ -1,4 +1,5 @@
1
1
  import type { FetchAPI } from './types.js';
2
+ import { ServerAdapterRequestAbortSignal } from './utils.js';
2
3
  export interface UWSRequest {
3
4
  getMethod(): string;
4
5
  forEach(callback: (key: string, value: string) => void): void;
@@ -23,10 +24,10 @@ interface GetRequestFromUWSOpts {
23
24
  req: UWSRequest;
24
25
  res: UWSResponse;
25
26
  fetchAPI: FetchAPI;
26
- ctrl: AbortController;
27
+ signal: AbortSignal;
27
28
  }
28
- export declare function getRequestFromUWSRequest({ req, res, fetchAPI, ctrl }: GetRequestFromUWSOpts): Request;
29
+ export declare function getRequestFromUWSRequest({ req, res, fetchAPI, signal }: GetRequestFromUWSOpts): Request;
29
30
  export declare function createWritableFromUWS(uwsResponse: UWSResponse, fetchAPI: FetchAPI): WritableStream<any>;
30
- export declare function sendResponseToUwsOpts(uwsResponse: UWSResponse, fetchResponse: Response, ctrl: AbortController, fetchAPI: FetchAPI): Promise<void> | undefined;
31
+ export declare function sendResponseToUwsOpts(uwsResponse: UWSResponse, fetchResponse: Response, signal: ServerAdapterRequestAbortSignal, fetchAPI: FetchAPI): Promise<void> | undefined;
31
32
  export declare function fakePromise<T>(value: T): Promise<T>;
32
33
  export {};