@whatwg-node/server 0.4.9 → 0.4.10-alpha-20220926221307-730c2a6
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/index.d.ts +12 -9
- package/index.js +2 -2
- package/index.mjs +2 -2
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
/// <reference lib="webworker" />
|
|
3
3
|
import type { RequestListener, ServerResponse } from 'node:http';
|
|
4
4
|
import { NodeRequest } from './utils';
|
|
5
|
-
export interface ServerAdapterBaseObject<TServerContext
|
|
5
|
+
export interface ServerAdapterBaseObject<TServerContext> {
|
|
6
6
|
/**
|
|
7
7
|
* An async function that takes `Request` and the server context and returns a `Response`.
|
|
8
8
|
* If you use `requestListener`, the server context is `{ req: IncomingMessage, res: ServerResponse }`.
|
|
9
9
|
*/
|
|
10
|
-
handle:
|
|
10
|
+
handle: ServerAdapterRequestHandler<TServerContext>;
|
|
11
11
|
}
|
|
12
|
-
export interface ServerAdapterObject<TServerContext
|
|
12
|
+
export interface ServerAdapterObject<TServerContext> extends EventListenerObject {
|
|
13
13
|
/**
|
|
14
14
|
* A basic request listener that takes a `Request` with the server context and returns a `Response`.
|
|
15
15
|
*/
|
|
16
|
-
handleRequest:
|
|
16
|
+
handleRequest: ServerAdapterRequestHandler<TServerContext>;
|
|
17
17
|
/**
|
|
18
18
|
* WHATWG Fetch spec compliant `fetch` function that can be used for testing purposes.
|
|
19
19
|
*/
|
|
@@ -35,6 +35,9 @@ export interface ServerAdapterObject<TServerContext, TBaseObject extends ServerA
|
|
|
35
35
|
* A request listener function that can be used with any Node server variation.
|
|
36
36
|
*/
|
|
37
37
|
requestListener: RequestListener;
|
|
38
|
+
/**
|
|
39
|
+
* Flexible and generic request handler for all environments.
|
|
40
|
+
*/
|
|
38
41
|
handle(req: NodeRequest, res: ServerResponse, ...ctx: Partial<TServerContext>[]): Promise<void>;
|
|
39
42
|
handle(request: Request, ...ctx: Partial<TServerContext>[]): Promise<Response> | Response;
|
|
40
43
|
handle(fetchEvent: FetchEvent & Partial<TServerContext>, ...ctx: Partial<TServerContext>[]): void;
|
|
@@ -42,13 +45,13 @@ export interface ServerAdapterObject<TServerContext, TBaseObject extends ServerA
|
|
|
42
45
|
request: Request;
|
|
43
46
|
} & Partial<TServerContext>, ...ctx: Partial<TServerContext>[]): Promise<Response> | Response;
|
|
44
47
|
}
|
|
45
|
-
export declare type ServerAdapter<TServerContext
|
|
48
|
+
export declare type ServerAdapter<TServerContext> = ServerAdapterObject<TServerContext>['handle'] & ServerAdapterObject<TServerContext>['requestListener'] & ServerAdapterObject<TServerContext>;
|
|
46
49
|
export declare type ServerAdapterRequestHandler<TServerContext> = (request: Request, ctx: TServerContext) => Promise<Response> | Response;
|
|
47
|
-
export
|
|
50
|
+
export interface NodeServerAdapterContext {
|
|
48
51
|
req: NodeRequest;
|
|
49
52
|
res: ServerResponse;
|
|
50
53
|
waitUntil(promise: Promise<unknown>): void;
|
|
51
|
-
}
|
|
52
|
-
declare function createServerAdapter<TServerContext
|
|
53
|
-
declare function createServerAdapter<TServerContext
|
|
54
|
+
}
|
|
55
|
+
declare function createServerAdapter<TServerContext>(serverAdapterRequestHandler: ServerAdapterRequestHandler<TServerContext>, RequestCtor?: typeof Request): ServerAdapter<TServerContext>;
|
|
56
|
+
declare function createServerAdapter<TServerContext>(serverAdapterBaseObject: ServerAdapterBaseObject<TServerContext>, RequestCtor?: typeof Request): ServerAdapter<TServerContext>;
|
|
54
57
|
export { createServerAdapter };
|
package/index.js
CHANGED
|
@@ -230,14 +230,14 @@ RequestCtor = fetch.Request) {
|
|
|
230
230
|
}
|
|
231
231
|
async function requestListener(nodeRequest, serverResponse, ...ctx) {
|
|
232
232
|
const waitUntilPromises = [];
|
|
233
|
-
const
|
|
233
|
+
const nodeServerContext = {
|
|
234
234
|
req: nodeRequest,
|
|
235
235
|
res: serverResponse,
|
|
236
236
|
waitUntil(p) {
|
|
237
237
|
waitUntilPromises.push(p);
|
|
238
238
|
},
|
|
239
239
|
};
|
|
240
|
-
const response = await handleNodeRequest(nodeRequest,
|
|
240
|
+
const response = await handleNodeRequest(nodeRequest, nodeServerContext, ...ctx);
|
|
241
241
|
if (response) {
|
|
242
242
|
await sendNodeResponse(response, serverResponse);
|
|
243
243
|
}
|
package/index.mjs
CHANGED
|
@@ -226,14 +226,14 @@ RequestCtor = Request) {
|
|
|
226
226
|
}
|
|
227
227
|
async function requestListener(nodeRequest, serverResponse, ...ctx) {
|
|
228
228
|
const waitUntilPromises = [];
|
|
229
|
-
const
|
|
229
|
+
const nodeServerContext = {
|
|
230
230
|
req: nodeRequest,
|
|
231
231
|
res: serverResponse,
|
|
232
232
|
waitUntil(p) {
|
|
233
233
|
waitUntilPromises.push(p);
|
|
234
234
|
},
|
|
235
235
|
};
|
|
236
|
-
const response = await handleNodeRequest(nodeRequest,
|
|
236
|
+
const response = await handleNodeRequest(nodeRequest, nodeServerContext, ...ctx);
|
|
237
237
|
if (response) {
|
|
238
238
|
await sendNodeResponse(response, serverResponse);
|
|
239
239
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whatwg-node/server",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.10-alpha-20220926221307-730c2a6",
|
|
4
4
|
"description": "Fetch API compliant HTTP Server adapter",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"@types/node": "^18.0.6"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@whatwg-node/fetch": "0.4.
|
|
10
|
+
"@whatwg-node/fetch": "0.4.6-alpha-20220926221307-730c2a6",
|
|
11
11
|
"tslib": "^2.3.1"
|
|
12
12
|
},
|
|
13
13
|
"repository": {
|