@seanhogg/builderforce-webcontainers 2026.10.7 → 2026.10.8
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/assets.js +3 -3
- package/dist/host.d.ts +7 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +27 -8
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/node/index.d.ts +4 -8
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +1 -25
- package/dist/node/index.js.map +1 -1
- package/dist/node/portResponder.d.ts +45 -0
- package/dist/node/portResponder.d.ts.map +1 -0
- package/dist/node/portResponder.js +136 -0
- package/dist/node/portResponder.js.map +1 -0
- package/dist/node/processHost.d.ts +13 -2
- package/dist/node/processHost.d.ts.map +1 -1
- package/dist/node/processHost.js +62 -16
- package/dist/node/processHost.js.map +1 -1
- package/dist/node/protocol.d.ts +42 -9
- package/dist/node/protocol.d.ts.map +1 -1
- package/dist/node/protocol.js.map +1 -1
- package/dist/node/responseWire.d.ts +27 -0
- package/dist/node/responseWire.d.ts.map +1 -0
- package/dist/node/responseWire.js +99 -0
- package/dist/node/responseWire.js.map +1 -0
- package/dist/node/worker.js +141 -125
- package/dist/node/workerProcess.d.ts +3 -1
- package/dist/node/workerProcess.d.ts.map +1 -1
- package/dist/node/workerProcess.js +49 -19
- package/dist/node/workerProcess.js.map +1 -1
- package/dist/previewBridge.d.ts +37 -0
- package/dist/previewBridge.d.ts.map +1 -0
- package/dist/previewBridge.js +116 -0
- package/dist/previewBridge.js.map +1 -0
- package/dist/previewMessages.d.ts +5 -0
- package/dist/previewMessages.d.ts.map +1 -1
- package/dist/previewMessages.js +18 -11
- package/dist/previewMessages.js.map +1 -1
- package/dist/process-worker.js +141 -125
- package/dist/protocol.d.ts +23 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +8 -0
- package/dist/protocol.js.map +1 -1
- package/dist/relay.html +1 -1
- package/dist/snapshotStore.d.ts +30 -0
- package/dist/snapshotStore.d.ts.map +1 -0
- package/dist/snapshotStore.js +115 -0
- package/dist/snapshotStore.js.map +1 -0
- package/dist/sw.js +1 -1
- package/dist/swRouter.d.ts +8 -1
- package/dist/swRouter.d.ts.map +1 -1
- package/dist/swRouter.js +40 -5
- package/dist/swRouter.js.map +1 -1
- package/package.json +3 -2
- package/src/host.ts +31 -8
- package/src/index.ts +6 -2
- package/src/node/index.ts +4 -23
- package/src/node/portResponder.ts +175 -0
- package/src/node/processHost.ts +73 -15
- package/src/node/protocol.ts +25 -4
- package/src/node/responseWire.ts +97 -0
- package/src/node/workerProcess.ts +52 -21
- package/src/previewBridge.ts +148 -0
- package/src/previewMessages.ts +17 -9
- package/src/protocol.ts +35 -1
- package/src/snapshotStore.ts +135 -0
- package/src/sw.ts +2 -0
- package/src/swRouter.ts +35 -6
package/dist/node/processHost.js
CHANGED
|
@@ -5,10 +5,16 @@
|
|
|
5
5
|
* write reaches the page, then every other worker). Children a worker spawns
|
|
6
6
|
* (the shell running `node`, `child_process`) are started here too, so every
|
|
7
7
|
* process — however deep — can be killed by terminating its worker.
|
|
8
|
+
*
|
|
9
|
+
* Responses from a worker's servers stream through here chunk by chunk (see
|
|
10
|
+
* responseWire.ts), and upgraded connections (WebSockets) are relayed as raw
|
|
11
|
+
* bytes between the client end the caller holds and the server's worker.
|
|
8
12
|
*/
|
|
9
|
-
import { DEFAULT_ENV, PortRegistry, ServerEvents, allocatePid, runArguments, toRuntimeProcess, } from '@seanhogg/builderforce-webcontainers-core';
|
|
13
|
+
import { DEFAULT_ENV, PortRegistry, ServerEvents, allocatePid, runArguments, textResponse, toRuntimeProcess, } from '@seanhogg/builderforce-webcontainers-core';
|
|
10
14
|
import { portPath } from './protocol.js';
|
|
15
|
+
import { ResponseReceiver, sendResponse } from './responseWire.js';
|
|
11
16
|
const SIGNAL_CODES = { SIGINT: 130, SIGTERM: 143, SIGKILL: 137, SIGHUP: 129 };
|
|
17
|
+
const EXITED = 'The server process exited.';
|
|
12
18
|
export class ProcessHost {
|
|
13
19
|
options;
|
|
14
20
|
ports = new PortRegistry();
|
|
@@ -18,6 +24,7 @@ export class ProcessHost {
|
|
|
18
24
|
applyingFrom;
|
|
19
25
|
flushScheduled = false;
|
|
20
26
|
nextReq = 1;
|
|
27
|
+
nextConn = 1;
|
|
21
28
|
unwatch;
|
|
22
29
|
stopPorts;
|
|
23
30
|
constructor(options) {
|
|
@@ -58,7 +65,9 @@ export class ProcessHost {
|
|
|
58
65
|
},
|
|
59
66
|
registrations: new Map(),
|
|
60
67
|
children: new Map(),
|
|
61
|
-
|
|
68
|
+
responses: new ResponseReceiver(),
|
|
69
|
+
loopbacks: new Map(),
|
|
70
|
+
sockets: new Map(),
|
|
62
71
|
outbox: [],
|
|
63
72
|
};
|
|
64
73
|
this.procs.add(proc);
|
|
@@ -101,10 +110,18 @@ export class ProcessHost {
|
|
|
101
110
|
list() {
|
|
102
111
|
return [...this.procs].map((proc) => ({ ...proc.info, args: [...proc.info.args], ports: [...proc.registrations.keys()] }));
|
|
103
112
|
}
|
|
104
|
-
/** Dispatch an HTTP request to the server on `port`
|
|
113
|
+
/** Dispatch an HTTP request to the server on `port` and wait for the whole response. */
|
|
105
114
|
request(port, request) {
|
|
115
|
+
return this.ports.requestBuffered(port, request);
|
|
116
|
+
}
|
|
117
|
+
/** Dispatch an HTTP request to the server on `port` (the preview's `/__port/<port>/` path); resolves at the head, the body streaming. */
|
|
118
|
+
requestStream(port, request) {
|
|
106
119
|
return this.ports.request(port, request);
|
|
107
120
|
}
|
|
121
|
+
/** Open an upgraded connection (a WebSocket) to the server on `port`; returns the client end. */
|
|
122
|
+
upgrade(port, request) {
|
|
123
|
+
return this.ports.upgrade(port, request);
|
|
124
|
+
}
|
|
108
125
|
dispose() {
|
|
109
126
|
for (const proc of [...this.procs]) {
|
|
110
127
|
proc.worker.terminate();
|
|
@@ -134,9 +151,13 @@ export class ProcessHost {
|
|
|
134
151
|
for (const registration of proc.registrations.values())
|
|
135
152
|
registration.close();
|
|
136
153
|
proc.registrations.clear();
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
154
|
+
proc.responses.abort(() => textResponse(502, EXITED), EXITED);
|
|
155
|
+
for (const cancel of [...proc.loopbacks.values()])
|
|
156
|
+
cancel();
|
|
157
|
+
proc.loopbacks.clear();
|
|
158
|
+
for (const socket of proc.sockets.values())
|
|
159
|
+
socket.close();
|
|
160
|
+
proc.sockets.clear();
|
|
140
161
|
this.procs.delete(proc);
|
|
141
162
|
queueMicrotask(() => proc.worker.terminate());
|
|
142
163
|
}
|
|
@@ -226,7 +247,7 @@ export class ProcessHost {
|
|
|
226
247
|
return proc.children.get(message.childId)?.resize?.(message.cols, message.rows);
|
|
227
248
|
case 'listen': {
|
|
228
249
|
try {
|
|
229
|
-
const registration = this.ports.listen(message.port, (request) => this.forward(proc, message.port, request));
|
|
250
|
+
const registration = this.ports.listen(message.port, (request) => this.forward(proc, message.port, request), (request, socket) => this.forwardUpgrade(proc, message.port, request, socket));
|
|
230
251
|
proc.registrations.set(message.port, registration);
|
|
231
252
|
}
|
|
232
253
|
catch (error) {
|
|
@@ -239,24 +260,49 @@ export class ProcessHost {
|
|
|
239
260
|
proc.registrations.get(message.port)?.close();
|
|
240
261
|
proc.registrations.delete(message.port);
|
|
241
262
|
return;
|
|
242
|
-
case '
|
|
243
|
-
|
|
244
|
-
|
|
263
|
+
case 'response-head':
|
|
264
|
+
case 'response-chunk':
|
|
265
|
+
case 'response-end':
|
|
266
|
+
return proc.responses.receive(message);
|
|
267
|
+
case 'loopback': {
|
|
268
|
+
const { reqId } = message;
|
|
269
|
+
const cancel = sendResponse((reply) => this.post(proc, reply), reqId, this.ports.request(message.port, message.request), () => proc.loopbacks.delete(reqId));
|
|
270
|
+
proc.loopbacks.set(reqId, cancel);
|
|
245
271
|
return;
|
|
246
|
-
|
|
247
|
-
|
|
272
|
+
}
|
|
273
|
+
case 'request-cancel':
|
|
274
|
+
return proc.loopbacks.get(message.reqId)?.();
|
|
275
|
+
case 'socket-data':
|
|
276
|
+
return proc.sockets.get(message.connId)?.send(message.data);
|
|
277
|
+
case 'socket-close':
|
|
278
|
+
proc.sockets.get(message.connId)?.close();
|
|
279
|
+
proc.sockets.delete(message.connId);
|
|
248
280
|
return;
|
|
249
281
|
case 'listening':
|
|
250
282
|
this.servers.announce({ port: message.port, url: message.url });
|
|
251
283
|
return;
|
|
252
284
|
}
|
|
253
285
|
}
|
|
254
|
-
forward(proc, port, request) {
|
|
286
|
+
async forward(proc, port, request) {
|
|
287
|
+
if (proc.exited)
|
|
288
|
+
return textResponse(502, EXITED);
|
|
255
289
|
const reqId = this.nextReq++;
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
290
|
+
const response = proc.responses.expect(reqId, () => this.post(proc, { type: 'request-cancel', reqId }));
|
|
291
|
+
this.post(proc, { type: 'http-request', reqId, port, request });
|
|
292
|
+
return (await response) ?? textResponse(502, `Nothing is listening on port ${port}.`);
|
|
293
|
+
}
|
|
294
|
+
/** Relay an upgraded connection: `socket` is the server end; its bytes go to the worker, and the worker's come back. */
|
|
295
|
+
forwardUpgrade(proc, port, request, socket) {
|
|
296
|
+
if (proc.exited)
|
|
297
|
+
return socket.close();
|
|
298
|
+
const connId = this.nextConn++;
|
|
299
|
+
proc.sockets.set(connId, socket);
|
|
300
|
+
socket.onData((data) => this.post(proc, { type: 'socket-data', connId, data }));
|
|
301
|
+
socket.onClose(() => {
|
|
302
|
+
if (proc.sockets.delete(connId))
|
|
303
|
+
this.post(proc, { type: 'socket-close', connId });
|
|
259
304
|
});
|
|
305
|
+
this.post(proc, { type: 'socket-open', connId, port, request });
|
|
260
306
|
}
|
|
261
307
|
}
|
|
262
308
|
//# sourceMappingURL=processHost.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processHost.js","sourceRoot":"","sources":["../../src/node/processHost.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"processHost.js","sourceRoot":"","sources":["../../src/node/processHost.ts"],"names":[],"mappings":"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"}
|
package/dist/node/protocol.d.ts
CHANGED
|
@@ -2,8 +2,15 @@
|
|
|
2
2
|
* Messages between the page (the process host, which owns the master file
|
|
3
3
|
* system and the port table) and one process Worker. Everything is plain
|
|
4
4
|
* structured-clone data; file contents travel as strings or bytes.
|
|
5
|
+
*
|
|
6
|
+
* HTTP responses stream in both directions with the same three messages: a
|
|
7
|
+
* `response-head`, `response-chunk`s as the server writes, a `response-end`.
|
|
8
|
+
* Worker → page they answer an `http-request` (ids the page allocated); page →
|
|
9
|
+
* worker they answer a `loopback` (ids the worker allocated). `request-cancel`
|
|
10
|
+
* goes the other way: the reader hung up. Upgraded connections (WebSockets)
|
|
11
|
+
* are opened by the page (`socket-open`) and carry raw bytes both ways.
|
|
5
12
|
*/
|
|
6
|
-
import type { FileContent, HttpRequestData,
|
|
13
|
+
import type { FileContent, HttpRequestData, HttpResponseHead } from '@seanhogg/builderforce-webcontainers-core';
|
|
7
14
|
export type FsOp = {
|
|
8
15
|
op: 'write';
|
|
9
16
|
path: string;
|
|
@@ -38,6 +45,29 @@ export interface StartMessage {
|
|
|
38
45
|
/** Use Cache Storage for npm tarballs. */
|
|
39
46
|
packageCache: boolean;
|
|
40
47
|
}
|
|
48
|
+
/** A streamed response, chunk by chunk; `head: null` means nothing listens on that port (loopback only). */
|
|
49
|
+
export type ResponseMessage = {
|
|
50
|
+
type: 'response-head';
|
|
51
|
+
reqId: number;
|
|
52
|
+
head: HttpResponseHead | null;
|
|
53
|
+
} | {
|
|
54
|
+
type: 'response-chunk';
|
|
55
|
+
reqId: number;
|
|
56
|
+
data: Uint8Array;
|
|
57
|
+
} | {
|
|
58
|
+
type: 'response-end';
|
|
59
|
+
reqId: number;
|
|
60
|
+
error?: string;
|
|
61
|
+
};
|
|
62
|
+
/** Raw bytes of an upgraded connection, either way; ids allocated by the page. */
|
|
63
|
+
export type SocketMessage = {
|
|
64
|
+
type: 'socket-data';
|
|
65
|
+
connId: number;
|
|
66
|
+
data: Uint8Array;
|
|
67
|
+
} | {
|
|
68
|
+
type: 'socket-close';
|
|
69
|
+
connId: number;
|
|
70
|
+
};
|
|
41
71
|
/** page → worker */
|
|
42
72
|
export type HostToWorker = StartMessage | {
|
|
43
73
|
type: 'stdin';
|
|
@@ -76,10 +106,14 @@ export type HostToWorker = StartMessage | {
|
|
|
76
106
|
port: number;
|
|
77
107
|
request: HttpRequestData;
|
|
78
108
|
} | {
|
|
79
|
-
type: '
|
|
109
|
+
type: 'request-cancel';
|
|
80
110
|
reqId: number;
|
|
81
|
-
|
|
82
|
-
|
|
111
|
+
} | {
|
|
112
|
+
type: 'socket-open';
|
|
113
|
+
connId: number;
|
|
114
|
+
port: number;
|
|
115
|
+
request: HttpRequestData;
|
|
116
|
+
} | ResponseMessage | SocketMessage;
|
|
83
117
|
/** worker → page */
|
|
84
118
|
export type WorkerToHost = {
|
|
85
119
|
type: 'stdout' | 'stderr';
|
|
@@ -120,20 +154,19 @@ export type WorkerToHost = {
|
|
|
120
154
|
} | {
|
|
121
155
|
type: 'unlisten';
|
|
122
156
|
port: number;
|
|
123
|
-
} | {
|
|
124
|
-
type: 'http-response';
|
|
125
|
-
reqId: number;
|
|
126
|
-
response: HttpResponseData;
|
|
127
157
|
} | {
|
|
128
158
|
type: 'loopback';
|
|
129
159
|
reqId: number;
|
|
130
160
|
port: number;
|
|
131
161
|
request: HttpRequestData;
|
|
162
|
+
} | {
|
|
163
|
+
type: 'request-cancel';
|
|
164
|
+
reqId: number;
|
|
132
165
|
} | {
|
|
133
166
|
type: 'listening';
|
|
134
167
|
port: number;
|
|
135
168
|
url: string;
|
|
136
|
-
};
|
|
169
|
+
} | ResponseMessage | SocketMessage;
|
|
137
170
|
/** The preview-relative URL a virtual server on `port` is reachable at. */
|
|
138
171
|
export declare function portPath(previewBase: string, port: number): string;
|
|
139
172
|
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/node/protocol.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/node/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/node/protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/node/protocol.ts"],"names":[],"mappings":"AAgFA,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,IAAY;IACxD,OAAO,GAAG,WAAW,UAAU,IAAI,GAAG,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streamed HTTP responses over postMessage, used on both sides of the
|
|
3
|
+
* page ↔ process-worker boundary: the side that holds a response sends it as
|
|
4
|
+
* head / chunk / end messages as the server writes it, and the side that asked
|
|
5
|
+
* rebuilds an `HttpStreamResponse` whose body stream is fed by them. A reader
|
|
6
|
+
* that cancels the body sends `request-cancel` back, so the server hears the
|
|
7
|
+
* client hang up.
|
|
8
|
+
*/
|
|
9
|
+
import { type HttpStreamResponse } from '@seanhogg/builderforce-webcontainers-core';
|
|
10
|
+
import type { ResponseMessage } from './protocol.js';
|
|
11
|
+
/**
|
|
12
|
+
* Send `response` as messages once it resolves (`undefined`: nothing listens).
|
|
13
|
+
* A rejected handler becomes a 500 carrying the error. Returns a cancel for
|
|
14
|
+
* when the requester hangs up; `onDone` runs once, when the exchange is over.
|
|
15
|
+
*/
|
|
16
|
+
export declare function sendResponse(post: (message: ResponseMessage) => void, reqId: number, response: Promise<HttpStreamResponse | undefined>, onDone?: () => void): () => void;
|
|
17
|
+
/** Rebuilds streamed responses from the messages answering requests this side sent. */
|
|
18
|
+
export declare class ResponseReceiver {
|
|
19
|
+
private readonly heads;
|
|
20
|
+
private readonly bodies;
|
|
21
|
+
/** The response to request `reqId`; `cancel` runs if its reader hangs up before the end. */
|
|
22
|
+
expect(reqId: number, cancel: () => void): Promise<HttpStreamResponse | undefined>;
|
|
23
|
+
receive(message: ResponseMessage): void;
|
|
24
|
+
/** The other side is gone: waiting requests get `fallback`, bodies in flight break off with `reason`. */
|
|
25
|
+
abort(fallback: () => HttpStreamResponse | undefined, reason: string): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=responseWire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseWire.d.ts","sourceRoot":"","sources":["../../src/node/responseWire.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAiC,KAAK,kBAAkB,EAAmB,MAAM,2CAA2C,CAAC;AACpI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAoCxK;AAED,uFAAuF;AACvF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkG;IACxH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,4FAA4F;IAC5F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAIlF,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAuBvC,yGAAyG;IACzG,KAAK,CAAC,QAAQ,EAAE,MAAM,kBAAkB,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAM5E"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streamed HTTP responses over postMessage, used on both sides of the
|
|
3
|
+
* page ↔ process-worker boundary: the side that holds a response sends it as
|
|
4
|
+
* head / chunk / end messages as the server writes it, and the side that asked
|
|
5
|
+
* rebuilds an `HttpStreamResponse` whose body stream is fed by them. A reader
|
|
6
|
+
* that cancels the body sends `request-cancel` back, so the server hears the
|
|
7
|
+
* client hang up.
|
|
8
|
+
*/
|
|
9
|
+
import { drainBody, headOf, pushStream } from '@seanhogg/builderforce-webcontainers-core';
|
|
10
|
+
const encoder = new TextEncoder();
|
|
11
|
+
/**
|
|
12
|
+
* Send `response` as messages once it resolves (`undefined`: nothing listens).
|
|
13
|
+
* A rejected handler becomes a 500 carrying the error. Returns a cancel for
|
|
14
|
+
* when the requester hangs up; `onDone` runs once, when the exchange is over.
|
|
15
|
+
*/
|
|
16
|
+
export function sendResponse(post, reqId, response, onDone) {
|
|
17
|
+
let finished = false;
|
|
18
|
+
let stop;
|
|
19
|
+
const done = () => {
|
|
20
|
+
if (finished)
|
|
21
|
+
return;
|
|
22
|
+
finished = true;
|
|
23
|
+
onDone?.();
|
|
24
|
+
};
|
|
25
|
+
response.then((res) => {
|
|
26
|
+
if (finished)
|
|
27
|
+
return void res?.body.cancel().catch(() => undefined);
|
|
28
|
+
if (!res) {
|
|
29
|
+
post({ type: 'response-head', reqId, head: null });
|
|
30
|
+
return done();
|
|
31
|
+
}
|
|
32
|
+
post({ type: 'response-head', reqId, head: headOf(res) });
|
|
33
|
+
stop = drainBody(res.body, {
|
|
34
|
+
chunk: (data) => post({ type: 'response-chunk', reqId, data }),
|
|
35
|
+
end: (error) => {
|
|
36
|
+
post(error ? { type: 'response-end', reqId, error } : { type: 'response-end', reqId });
|
|
37
|
+
done();
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}, (error) => {
|
|
41
|
+
if (finished)
|
|
42
|
+
return;
|
|
43
|
+
post({ type: 'response-head', reqId, head: { status: 500, headers: { 'content-type': 'text/plain' } } });
|
|
44
|
+
post({ type: 'response-chunk', reqId, data: encoder.encode(String(error instanceof Error ? error.stack : error)) });
|
|
45
|
+
post({ type: 'response-end', reqId });
|
|
46
|
+
done();
|
|
47
|
+
});
|
|
48
|
+
return () => {
|
|
49
|
+
stop?.();
|
|
50
|
+
done();
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** Rebuilds streamed responses from the messages answering requests this side sent. */
|
|
54
|
+
export class ResponseReceiver {
|
|
55
|
+
heads = new Map();
|
|
56
|
+
bodies = new Map();
|
|
57
|
+
/** The response to request `reqId`; `cancel` runs if its reader hangs up before the end. */
|
|
58
|
+
expect(reqId, cancel) {
|
|
59
|
+
return new Promise((resolve) => this.heads.set(reqId, { resolve, cancel }));
|
|
60
|
+
}
|
|
61
|
+
receive(message) {
|
|
62
|
+
const { reqId } = message;
|
|
63
|
+
if (message.type === 'response-head') {
|
|
64
|
+
const waiting = this.heads.get(reqId);
|
|
65
|
+
this.heads.delete(reqId);
|
|
66
|
+
if (!waiting)
|
|
67
|
+
return;
|
|
68
|
+
if (!message.head)
|
|
69
|
+
return waiting.resolve(undefined);
|
|
70
|
+
const body = pushStream(() => {
|
|
71
|
+
this.bodies.delete(reqId);
|
|
72
|
+
waiting.cancel();
|
|
73
|
+
});
|
|
74
|
+
this.bodies.set(reqId, body);
|
|
75
|
+
waiting.resolve({ ...message.head, body: body.stream });
|
|
76
|
+
}
|
|
77
|
+
else if (message.type === 'response-chunk') {
|
|
78
|
+
this.bodies.get(reqId)?.push(message.data);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const body = this.bodies.get(reqId);
|
|
82
|
+
this.bodies.delete(reqId);
|
|
83
|
+
if (message.error)
|
|
84
|
+
body?.fail(new Error(message.error));
|
|
85
|
+
else
|
|
86
|
+
body?.end();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** The other side is gone: waiting requests get `fallback`, bodies in flight break off with `reason`. */
|
|
90
|
+
abort(fallback, reason) {
|
|
91
|
+
for (const { resolve } of this.heads.values())
|
|
92
|
+
resolve(fallback());
|
|
93
|
+
this.heads.clear();
|
|
94
|
+
for (const body of this.bodies.values())
|
|
95
|
+
body.fail(new Error(reason));
|
|
96
|
+
this.bodies.clear();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=responseWire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseWire.js","sourceRoot":"","sources":["../../src/node/responseWire.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAA4C,MAAM,2CAA2C,CAAC;AAGpI,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAwC,EAAE,KAAa,EAAE,QAAiD,EAAE,MAAmB;IAC1J,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,IAA8B,CAAC;IACnC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,EAAE,EAAE,CAAC;IACb,CAAC,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,QAAQ;YAAE,OAAO,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;YACzB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC9D,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvF,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;QACjB,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC;IACT,CAAC,CACF,CAAC;IACF,OAAO,GAAG,EAAE;QACV,IAAI,EAAE,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,OAAO,gBAAgB;IACV,KAAK,GAAG,IAAI,GAAG,EAAuF,CAAC;IACvG,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAExD,4FAA4F;IAC5F,MAAM,CAAC,KAAa,EAAE,MAAkB;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,KAAK;gBAAE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;gBACnD,IAAI,EAAE,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,KAAK,CAAC,QAA8C,EAAE,MAAc;QAClE,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
|