@fluojs/runtime 1.0.0-beta.1 → 1.0.0-beta.10
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/README.ko.md +39 -3
- package/README.md +39 -3
- package/dist/adapters/request-response-factory.d.ts +9 -0
- package/dist/adapters/request-response-factory.d.ts.map +1 -1
- package/dist/adapters/request-response-factory.js +14 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +327 -60
- package/dist/health/diagnostics.d.ts +38 -0
- package/dist/health/diagnostics.d.ts.map +1 -1
- package/dist/health/diagnostics.js +48 -0
- package/dist/health/health.d.ts +21 -0
- package/dist/health/health.d.ts.map +1 -1
- package/dist/health/health.js +27 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/logging/json-logger.d.ts +5 -0
- package/dist/logging/json-logger.d.ts.map +1 -1
- package/dist/logging/json-logger.js +6 -0
- package/dist/logging/logger.d.ts +26 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +54 -5
- package/dist/module-graph.d.ts +16 -0
- package/dist/module-graph.d.ts.map +1 -1
- package/dist/module-graph.js +304 -8
- package/dist/node/internal-node-compression.d.ts +15 -0
- package/dist/node/internal-node-compression.d.ts.map +1 -1
- package/dist/node/internal-node-compression.js +16 -0
- package/dist/node/internal-node-request.d.ts +128 -0
- package/dist/node/internal-node-request.d.ts.map +1 -1
- package/dist/node/internal-node-request.js +321 -40
- package/dist/node/internal-node-response.d.ts +21 -1
- package/dist/node/internal-node-response.d.ts.map +1 -1
- package/dist/node/internal-node-response.js +42 -3
- package/dist/node/internal-node.d.ts +43 -6
- package/dist/node/internal-node.d.ts.map +1 -1
- package/dist/node/internal-node.js +65 -9
- package/dist/node/node-request.d.ts +1 -1
- package/dist/node/node-request.d.ts.map +1 -1
- package/dist/node/node-request.js +1 -1
- package/dist/platform-shell.d.ts +4 -0
- package/dist/platform-shell.d.ts.map +1 -1
- package/dist/platform-shell.js +72 -20
- package/dist/request-transaction.d.ts +28 -0
- package/dist/request-transaction.d.ts.map +1 -1
- package/dist/request-transaction.js +33 -0
- package/dist/types.d.ts +29 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/web.d.ts +9 -1
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +207 -56
- package/package.json +6 -6
|
@@ -3,11 +3,36 @@ import { createServer as createHttpsServer } from 'node:https';
|
|
|
3
3
|
import { createServerBackedHttpAdapterRealtimeCapability } from '@fluojs/http';
|
|
4
4
|
import { bootstrapHttpAdapterApplication, runHttpAdapterApplication } from '../http-adapter-shared.js';
|
|
5
5
|
import { createNodeResponseCompression, compressNodeResponse } from './internal-node-compression.js';
|
|
6
|
-
import {
|
|
6
|
+
import { cloneHeaderValue, cloneRequestHeaders, createDeferredFrameworkRequestShell, createDeferredFrameworkRequest, createMemoizedAsyncValue, createMemoizedValue, NodeRequestPayloadTooLargeException, normalizePrimaryContentType, parseCookieHeader, parseQueryParamsFromSearch, createRequestSignal, materializeFrameworkRequestBody, readPrimaryHeaderValue, resolveAbsoluteRequestUrl, resolveRequestIdFromHeaders, snapshotSimpleQueryRecord, splitRawRequestUrl } from './internal-node-request.js';
|
|
7
7
|
import { createFrameworkResponse, writeNodeAdapterErrorResponse } from './internal-node-response.js';
|
|
8
8
|
import { createNodeShutdownSignalRegistration, defaultNodeShutdownSignals, registerShutdownSignals } from './internal-node-shutdown.js';
|
|
9
9
|
import { dispatchWithRequestResponseFactory } from '../adapters/request-response-factory.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Describes the node http adapter options contract.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Defines the node application signal type.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Defines the cors input type.
|
|
21
|
+
*/
|
|
22
|
+
|
|
10
23
|
const DEFAULT_SHUTDOWN_TIMEOUT_MS = 10_000;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Describes the bootstrap node application options contract.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Describes the run node application options contract.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Represents the node http application adapter.
|
|
35
|
+
*/
|
|
11
36
|
export class NodeHttpApplicationAdapter {
|
|
12
37
|
server;
|
|
13
38
|
dispatcher;
|
|
@@ -18,11 +43,7 @@ export class NodeHttpApplicationAdapter {
|
|
|
18
43
|
this.host = host;
|
|
19
44
|
this.retryDelayMs = retryDelayMs;
|
|
20
45
|
this.retryLimit = retryLimit;
|
|
21
|
-
this.compression = compression;
|
|
22
46
|
this.httpsOptions = httpsOptions;
|
|
23
|
-
this.multipartOptions = multipartOptions;
|
|
24
|
-
this.maxBodySize = maxBodySize;
|
|
25
|
-
this.preserveRawBody = preserveRawBody;
|
|
26
47
|
this.shutdownTimeoutMs = shutdownTimeoutMs;
|
|
27
48
|
this.requestResponseFactory = createNodeRequestResponseFactory(compression, multipartOptions, maxBodySize, preserveRawBody);
|
|
28
49
|
this.server = createNodeServer(this.httpsOptions, (request, response) => {
|
|
@@ -75,13 +96,16 @@ export class NodeHttpApplicationAdapter {
|
|
|
75
96
|
function createNodeRequestResponseFactory(compression, multipartOptions, maxBodySize, preserveRawBody) {
|
|
76
97
|
return {
|
|
77
98
|
async createRequest(request, signal) {
|
|
78
|
-
return
|
|
99
|
+
return createDeferredFrameworkRequest(request, signal, multipartOptions, maxBodySize, preserveRawBody);
|
|
100
|
+
},
|
|
101
|
+
materializeRequest(request) {
|
|
102
|
+
return materializeFrameworkRequestBody(request);
|
|
79
103
|
},
|
|
80
104
|
createRequestSignal(response) {
|
|
81
105
|
return createRequestSignal(response);
|
|
82
106
|
},
|
|
83
107
|
createResponse(response, request) {
|
|
84
|
-
return createFrameworkResponse(response, compression ? createNodeResponseCompression(response, request.headers['accept-encoding']) : undefined);
|
|
108
|
+
return createFrameworkResponse(response, compression ? () => createNodeResponseCompression(response, request.headers['accept-encoding']) : undefined);
|
|
85
109
|
},
|
|
86
110
|
resolveRequestId(request) {
|
|
87
111
|
return resolveRequestIdFromHeaders(request.headers);
|
|
@@ -94,12 +118,37 @@ function createNodeRequestResponseFactory(compression, multipartOptions, maxBody
|
|
|
94
118
|
}
|
|
95
119
|
};
|
|
96
120
|
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Create node http adapter.
|
|
124
|
+
*
|
|
125
|
+
* @param options The options.
|
|
126
|
+
* @param compression The compression.
|
|
127
|
+
* @param multipartOptions The multipart options.
|
|
128
|
+
* @returns The create node http adapter result.
|
|
129
|
+
*/
|
|
97
130
|
export function createNodeHttpAdapter(options = {}, compression = false, multipartOptions) {
|
|
98
|
-
return new NodeHttpApplicationAdapter(resolveNodePort(options.port), options.host, options.retryDelayMs, options.retryLimit, compression, options.https, multipartOptions, options.maxBodySize, options.rawBody, options.shutdownTimeoutMs);
|
|
131
|
+
return new NodeHttpApplicationAdapter(resolveNodePort(options.port), options.host, options.retryDelayMs, options.retryLimit, compression, options.https, multipartOptions, resolveNodeMaxBodySize(options.maxBodySize), options.rawBody, options.shutdownTimeoutMs);
|
|
99
132
|
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Bootstrap node application.
|
|
136
|
+
*
|
|
137
|
+
* @param rootModule The root module.
|
|
138
|
+
* @param options The options.
|
|
139
|
+
* @returns The bootstrap node application result.
|
|
140
|
+
*/
|
|
100
141
|
export async function bootstrapNodeApplication(rootModule, options) {
|
|
101
142
|
return bootstrapHttpAdapterApplication(rootModule, options, createNodeHttpAdapter(options, options.compression ?? false, options.multipart));
|
|
102
143
|
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Run node application.
|
|
147
|
+
*
|
|
148
|
+
* @param rootModule The root module.
|
|
149
|
+
* @param options The options.
|
|
150
|
+
* @returns The run node application result.
|
|
151
|
+
*/
|
|
103
152
|
export async function runNodeApplication(rootModule, options) {
|
|
104
153
|
const adapter = createNodeHttpAdapter(options, options.compression ?? false, options.multipart);
|
|
105
154
|
return runHttpAdapterApplication(rootModule, {
|
|
@@ -107,7 +156,7 @@ export async function runNodeApplication(rootModule, options) {
|
|
|
107
156
|
shutdownRegistration: createNodeShutdownSignalRegistration(options.shutdownSignals ?? defaultNodeShutdownSignals())
|
|
108
157
|
}, adapter);
|
|
109
158
|
}
|
|
110
|
-
export { compressNodeResponse, createNodeResponseCompression, createNodeShutdownSignalRegistration, defaultNodeShutdownSignals, registerShutdownSignals };
|
|
159
|
+
export { cloneHeaderValue, cloneRequestHeaders, compressNodeResponse, createDeferredFrameworkRequestShell, createMemoizedAsyncValue, createMemoizedValue, createRequestSignal, createNodeResponseCompression, createNodeShutdownSignalRegistration, defaultNodeShutdownSignals, normalizePrimaryContentType, parseCookieHeader, parseQueryParamsFromSearch, readPrimaryHeaderValue, registerShutdownSignals, resolveAbsoluteRequestUrl, resolveRequestIdFromHeaders, snapshotSimpleQueryRecord, splitRawRequestUrl };
|
|
111
160
|
function createNodeServer(httpsOptions, handler) {
|
|
112
161
|
return httpsOptions ? createHttpsServer(httpsOptions, handler) : createHttpServer(handler);
|
|
113
162
|
}
|
|
@@ -206,4 +255,11 @@ function resolveNodePort(value) {
|
|
|
206
255
|
throw new Error(`Invalid PORT value: ${String(value ?? 3000)}.`);
|
|
207
256
|
}
|
|
208
257
|
return port;
|
|
258
|
+
}
|
|
259
|
+
function resolveNodeMaxBodySize(value) {
|
|
260
|
+
const maxBodySize = value ?? 1 * 1024 * 1024;
|
|
261
|
+
if (!Number.isInteger(maxBodySize) || maxBodySize < 0) {
|
|
262
|
+
throw new Error(`Invalid maxBodySize value: ${String(value ?? 1 * 1024 * 1024)}. Expected a non-negative integer number of bytes.`);
|
|
263
|
+
}
|
|
264
|
+
return maxBodySize;
|
|
209
265
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createFrameworkRequest, createRequestSignal, resolveRequestIdFromHeaders, } from './internal-node-request.js';
|
|
1
|
+
export { createDeferredFrameworkRequest, createFrameworkRequest, createRequestSignal, materializeFrameworkRequestBody, resolveRequestIdFromHeaders, } from './internal-node-request.js';
|
|
2
2
|
//# sourceMappingURL=node-request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-request.d.ts","sourceRoot":"","sources":["../../src/node/node-request.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"node-request.d.ts","sourceRoot":"","sources":["../../src/node/node-request.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { createFrameworkRequest, createRequestSignal, resolveRequestIdFromHeaders } from './internal-node-request.js';
|
|
1
|
+
export { createDeferredFrameworkRequest, createFrameworkRequest, createRequestSignal, materializeFrameworkRequestBody, resolveRequestIdFromHeaders } from './internal-node-request.js';
|
package/dist/platform-shell.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export declare class RuntimePlatformShell implements PlatformShell {
|
|
|
28
28
|
ready(): Promise<PlatformReadinessReport>;
|
|
29
29
|
health(): Promise<PlatformHealthReport>;
|
|
30
30
|
snapshot(): Promise<PlatformShellSnapshot>;
|
|
31
|
+
private collectSnapshotProbe;
|
|
32
|
+
private collectComponentSnapshot;
|
|
33
|
+
private collectComponentReadiness;
|
|
34
|
+
private collectComponentHealth;
|
|
31
35
|
assertCriticalReadiness(): Promise<void>;
|
|
32
36
|
private validateIdentityAndDependencies;
|
|
33
37
|
private validateComponents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-shell.d.ts","sourceRoot":"","sources":["../src/platform-shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EAGtB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EAGtB,MAAM,wBAAwB,CAAC;AAEhC,UAAU,2BAA2B;IACnC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"platform-shell.d.ts","sourceRoot":"","sources":["../src/platform-shell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EAGtB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EAGtB,MAAM,wBAAwB,CAAC;AAEhC,UAAU,2BAA2B;IACnC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAwID;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IAO5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IANjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,yBAAyB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;gBAEhC,oBAAoB,EAAE,2BAA2B,EAAE;IAEhF;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,sBAAsB,EAAE,GAAG,SAAS,GAAG,oBAAoB;IAIlG,uBAAuB,IAAI,OAAO;IAI5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrB,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA2BzC,MAAM,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAyBvC,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC;YAuBlC,oBAAoB;IAmBlC,OAAO,CAAC,wBAAwB;YAuClB,yBAAyB;YAmBzB,sBAAsB;IAkB9B,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9C,OAAO,CAAC,+BAA+B;YAgCzB,kBAAkB;IA4BhC,OAAO,CAAC,iBAAiB;YAsCX,qBAAqB;CAgBpC;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,SAAS,sBAAsB,EAAE,GAAG,SAAS,GAAG,oBAAoB,CAE1H"}
|
package/dist/platform-shell.js
CHANGED
|
@@ -96,7 +96,6 @@ function normalizeSnapshot(snapshot, component, dependencies) {
|
|
|
96
96
|
kind: component.kind
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
-
|
|
100
99
|
/**
|
|
101
100
|
* A runtime implementation of the {@link PlatformShell} that manages the lifecycle
|
|
102
101
|
* of registered platform components, including dependency ordering and diagnostics.
|
|
@@ -219,15 +218,41 @@ export class RuntimePlatformShell {
|
|
|
219
218
|
if (!this.hasRegisteredComponents()) {
|
|
220
219
|
return createEmptyShellSnapshot([...this.diagnostics]);
|
|
221
220
|
}
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
221
|
+
const probeResults = await Promise.all(this.registeredComponents.map(registration => this.collectSnapshotProbe(registration)));
|
|
222
|
+
const components = probeResults.map(result => result.snapshot);
|
|
223
|
+
const readiness = aggregateReadiness(probeResults.map(result => result.readiness));
|
|
224
|
+
const health = aggregateHealth(probeResults.map(result => result.health));
|
|
225
|
+
const diagnostics = probeResults.flatMap(result => result.diagnostics);
|
|
226
|
+
this.diagnostics.push(...diagnostics);
|
|
227
|
+
return {
|
|
228
|
+
components,
|
|
229
|
+
diagnostics: [...this.diagnostics],
|
|
230
|
+
generatedAt: new Date().toISOString(),
|
|
231
|
+
health,
|
|
232
|
+
readiness
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
async collectSnapshotProbe(registration) {
|
|
236
|
+
const [snapshot, readiness, health] = await Promise.all([this.collectComponentSnapshot(registration), this.collectComponentReadiness(registration), this.collectComponentHealth(registration)]);
|
|
237
|
+
return {
|
|
238
|
+
diagnostics: [...snapshot.diagnostics, ...readiness.diagnostics, ...health.diagnostics],
|
|
239
|
+
health: health.health,
|
|
240
|
+
readiness: readiness.readiness,
|
|
241
|
+
snapshot: snapshot.snapshot
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
collectComponentSnapshot(registration) {
|
|
245
|
+
try {
|
|
246
|
+
const snapshot = registration.component.snapshot();
|
|
247
|
+
return {
|
|
248
|
+
diagnostics: [],
|
|
249
|
+
snapshot: normalizeSnapshot(snapshot, registration.component, registration.dependencies)
|
|
250
|
+
};
|
|
251
|
+
} catch (error) {
|
|
252
|
+
const issue = createUnknownFailureIssue(registration.component.id, 'snapshot', error);
|
|
253
|
+
return {
|
|
254
|
+
diagnostics: [issue],
|
|
255
|
+
snapshot: {
|
|
231
256
|
dependencies: [...registration.dependencies],
|
|
232
257
|
details: {},
|
|
233
258
|
health: {
|
|
@@ -250,17 +275,44 @@ export class RuntimePlatformShell {
|
|
|
250
275
|
namespace: 'fluo.platform',
|
|
251
276
|
tags: {}
|
|
252
277
|
}
|
|
253
|
-
}
|
|
254
|
-
}
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
async collectComponentReadiness(registration) {
|
|
283
|
+
try {
|
|
284
|
+
return {
|
|
285
|
+
diagnostics: [],
|
|
286
|
+
readiness: await registration.component.ready()
|
|
287
|
+
};
|
|
288
|
+
} catch (error) {
|
|
289
|
+
const issue = createUnknownFailureIssue(registration.component.id, 'ready', error);
|
|
290
|
+
return {
|
|
291
|
+
diagnostics: [issue],
|
|
292
|
+
readiness: {
|
|
293
|
+
critical: true,
|
|
294
|
+
reason: issue.cause,
|
|
295
|
+
status: 'not-ready'
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
async collectComponentHealth(registration) {
|
|
301
|
+
try {
|
|
302
|
+
return {
|
|
303
|
+
diagnostics: [],
|
|
304
|
+
health: await registration.component.health()
|
|
305
|
+
};
|
|
306
|
+
} catch (error) {
|
|
307
|
+
const issue = createUnknownFailureIssue(registration.component.id, 'health', error);
|
|
308
|
+
return {
|
|
309
|
+
diagnostics: [issue],
|
|
310
|
+
health: {
|
|
311
|
+
reason: issue.cause,
|
|
312
|
+
status: 'unhealthy'
|
|
313
|
+
}
|
|
314
|
+
};
|
|
255
315
|
}
|
|
256
|
-
const [readiness, health] = await Promise.all([this.ready(), this.health()]);
|
|
257
|
-
return {
|
|
258
|
-
components,
|
|
259
|
-
diagnostics: [...this.diagnostics],
|
|
260
|
-
generatedAt: new Date().toISOString(),
|
|
261
|
-
health,
|
|
262
|
-
readiness
|
|
263
|
-
};
|
|
264
316
|
}
|
|
265
317
|
async assertCriticalReadiness() {
|
|
266
318
|
const readiness = await this.ready();
|
|
@@ -1,17 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the request abort context type.
|
|
3
|
+
*/
|
|
1
4
|
export type RequestAbortContext = {
|
|
2
5
|
controller: AbortController;
|
|
3
6
|
cleanup(): void;
|
|
4
7
|
signal: AbortSignal;
|
|
5
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Defines the active request transaction type.
|
|
11
|
+
*/
|
|
6
12
|
export type ActiveRequestTransaction = {
|
|
7
13
|
abort(reason?: unknown): void;
|
|
8
14
|
settled: Promise<void>;
|
|
9
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Defines the active request transaction handle type.
|
|
18
|
+
*/
|
|
10
19
|
export type ActiveRequestTransactionHandle = {
|
|
11
20
|
active: ActiveRequestTransaction;
|
|
12
21
|
settle(): void;
|
|
13
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Create request abort context.
|
|
25
|
+
*
|
|
26
|
+
* @param signal The signal.
|
|
27
|
+
* @returns The create request abort context result.
|
|
28
|
+
*/
|
|
14
29
|
export declare function createRequestAbortContext(signal?: AbortSignal): RequestAbortContext;
|
|
30
|
+
/**
|
|
31
|
+
* Track active request transaction.
|
|
32
|
+
*
|
|
33
|
+
* @param activeRequestTransactions The active request transactions.
|
|
34
|
+
* @param controller The controller.
|
|
35
|
+
* @returns The track active request transaction result.
|
|
36
|
+
*/
|
|
15
37
|
export declare function trackActiveRequestTransaction(activeRequestTransactions: Set<ActiveRequestTransaction>, controller: AbortController): ActiveRequestTransactionHandle;
|
|
38
|
+
/**
|
|
39
|
+
* Untrack active request transaction.
|
|
40
|
+
*
|
|
41
|
+
* @param activeRequestTransactions The active request transactions.
|
|
42
|
+
* @param handle The handle.
|
|
43
|
+
*/
|
|
16
44
|
export declare function untrackActiveRequestTransaction(activeRequestTransactions: Set<ActiveRequestTransaction>, handle: ActiveRequestTransactionHandle): void;
|
|
17
45
|
//# sourceMappingURL=request-transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-transaction.d.ts","sourceRoot":"","sources":["../src/request-transaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAiBnF;AAED,wBAAgB,6BAA6B,CAC3C,yBAAyB,EAAE,GAAG,CAAC,wBAAwB,CAAC,EACxD,UAAU,EAAE,eAAe,GAC1B,8BAA8B,CAgBhC;AAED,wBAAgB,+BAA+B,CAC7C,yBAAyB,EAAE,GAAG,CAAC,wBAAwB,CAAC,EACxD,MAAM,EAAE,8BAA8B,GACrC,IAAI,CAGN"}
|
|
1
|
+
{"version":3,"file":"request-transaction.d.ts","sourceRoot":"","sources":["../src/request-transaction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAiBnF;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,yBAAyB,EAAE,GAAG,CAAC,wBAAwB,CAAC,EACxD,UAAU,EAAE,eAAe,GAC1B,8BAA8B,CAgBhC;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,yBAAyB,EAAE,GAAG,CAAC,wBAAwB,CAAC,EACxD,MAAM,EAAE,8BAA8B,GACrC,IAAI,CAGN"}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the request abort context type.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Defines the active request transaction type.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Defines the active request transaction handle type.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Create request abort context.
|
|
15
|
+
*
|
|
16
|
+
* @param signal The signal.
|
|
17
|
+
* @returns The create request abort context result.
|
|
18
|
+
*/
|
|
1
19
|
export function createRequestAbortContext(signal) {
|
|
2
20
|
const controller = new AbortController();
|
|
3
21
|
const forwardAbort = () => controller.abort(signal?.reason);
|
|
@@ -16,6 +34,14 @@ export function createRequestAbortContext(signal) {
|
|
|
16
34
|
signal: controller.signal
|
|
17
35
|
};
|
|
18
36
|
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Track active request transaction.
|
|
40
|
+
*
|
|
41
|
+
* @param activeRequestTransactions The active request transactions.
|
|
42
|
+
* @param controller The controller.
|
|
43
|
+
* @returns The track active request transaction result.
|
|
44
|
+
*/
|
|
19
45
|
export function trackActiveRequestTransaction(activeRequestTransactions, controller) {
|
|
20
46
|
let settle;
|
|
21
47
|
const settled = new Promise(resolve => {
|
|
@@ -33,6 +59,13 @@ export function trackActiveRequestTransaction(activeRequestTransactions, control
|
|
|
33
59
|
settle
|
|
34
60
|
};
|
|
35
61
|
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Untrack active request transaction.
|
|
65
|
+
*
|
|
66
|
+
* @param activeRequestTransactions The active request transactions.
|
|
67
|
+
* @param handle The handle.
|
|
68
|
+
*/
|
|
36
69
|
export function untrackActiveRequestTransaction(activeRequestTransactions, handle) {
|
|
37
70
|
activeRequestTransactions.delete(handle.active);
|
|
38
71
|
handle.settle();
|
package/dist/types.d.ts
CHANGED
|
@@ -22,6 +22,15 @@ export interface ModuleDefinition {
|
|
|
22
22
|
export interface BootstrapModuleOptions {
|
|
23
23
|
duplicateProviderPolicy?: 'warn' | 'throw' | 'ignore';
|
|
24
24
|
logger?: ApplicationLogger;
|
|
25
|
+
/**
|
|
26
|
+
* Opts this bootstrap into the process-local module graph compile result cache.
|
|
27
|
+
*
|
|
28
|
+
* The cache is disabled by default. When enabled, successful graph compiles are
|
|
29
|
+
* keyed by root module identity, runtime provider inputs, validation tokens,
|
|
30
|
+
* core metadata write versions, and the runtime compile algorithm version.
|
|
31
|
+
* Failed compilations are never cached.
|
|
32
|
+
*/
|
|
33
|
+
moduleGraphCache?: boolean;
|
|
25
34
|
providers?: Provider[];
|
|
26
35
|
validationTokens?: Token[];
|
|
27
36
|
}
|
|
@@ -29,12 +38,21 @@ export interface BootstrapModuleOptions {
|
|
|
29
38
|
export interface CompiledModule {
|
|
30
39
|
type: ModuleType;
|
|
31
40
|
definition: ModuleDefinition;
|
|
41
|
+
accessibleTokens: Set<Token>;
|
|
32
42
|
exportedTokens: Set<Token>;
|
|
43
|
+
importedExportedTokens: Set<Token>;
|
|
33
44
|
providerTokens: Set<Token>;
|
|
34
45
|
}
|
|
46
|
+
/** Provider declarations that actually win runtime bootstrap registration after duplicate-policy selection. */
|
|
47
|
+
export interface BootstrapEffectiveProviders {
|
|
48
|
+
moduleProviders: Provider[];
|
|
49
|
+
rootModuleProviders: Provider[];
|
|
50
|
+
runtimeProviders: Provider[];
|
|
51
|
+
}
|
|
35
52
|
/** Result returned by low-level bootstrap compilation helpers. */
|
|
36
53
|
export interface BootstrapResult {
|
|
37
54
|
container: Container;
|
|
55
|
+
effectiveProviders: BootstrapEffectiveProviders;
|
|
38
56
|
modules: CompiledModule[];
|
|
39
57
|
rootModule: ModuleType;
|
|
40
58
|
}
|
|
@@ -82,6 +100,12 @@ export interface ExceptionFilterHandler {
|
|
|
82
100
|
/** High-level bootstrap options for creating an HTTP application shell. */
|
|
83
101
|
export interface BootstrapApplicationOptions {
|
|
84
102
|
adapter?: HttpApplicationAdapter;
|
|
103
|
+
/**
|
|
104
|
+
* Enables the opt-in process-local module graph compile result cache for this
|
|
105
|
+
* bootstrap. The default is `false`, so each bootstrap compiles a fresh graph
|
|
106
|
+
* unless callers explicitly request cache reuse.
|
|
107
|
+
*/
|
|
108
|
+
moduleGraphCache?: boolean;
|
|
85
109
|
/**
|
|
86
110
|
* Policy for duplicate provider tokens across modules.
|
|
87
111
|
*
|
|
@@ -118,8 +142,13 @@ export interface CreateApplicationContextOptions extends Omit<BootstrapApplicati
|
|
|
118
142
|
}
|
|
119
143
|
/** Runtime transport contract used by microservice application shells. */
|
|
120
144
|
export interface MicroserviceRuntime {
|
|
145
|
+
/** Release transport resources owned by the microservice runtime during shutdown. */
|
|
146
|
+
close?(signal?: string): MaybePromise<void>;
|
|
147
|
+
/** Emit a fire-and-forget message for the given transport pattern. */
|
|
121
148
|
emit?(pattern: string, payload: unknown): MaybePromise<void>;
|
|
149
|
+
/** Start listening for transport messages. */
|
|
122
150
|
listen(): MaybePromise<void>;
|
|
151
|
+
/** Send a request/response message for the given transport pattern. */
|
|
123
152
|
send?(pattern: string, payload: unknown, signal?: AbortSignal): MaybePromise<unknown>;
|
|
124
153
|
}
|
|
125
154
|
/** Options accepted by `Application.connectMicroservice(...)`. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/web.d.ts
CHANGED
|
@@ -11,8 +11,10 @@ declare module '@fluojs/http' {
|
|
|
11
11
|
* Configures Web request parsing, multipart handling, and raw body preservation.
|
|
12
12
|
*/
|
|
13
13
|
export interface CreateWebRequestResponseFactoryOptions {
|
|
14
|
+
consumeOriginalBody?: boolean;
|
|
14
15
|
maxBodySize?: number;
|
|
15
16
|
multipart?: MultipartOptions;
|
|
17
|
+
preferNativeJsonBodyReader?: boolean;
|
|
16
18
|
rawBody?: boolean;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
@@ -21,6 +23,12 @@ export interface CreateWebRequestResponseFactoryOptions {
|
|
|
21
23
|
export interface DispatchWebRequestOptions extends CreateWebRequestResponseFactoryOptions {
|
|
22
24
|
dispatcher?: Dispatcher;
|
|
23
25
|
dispatcherNotReadyMessage?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Factory reused by adapters that share one stable Web parsing configuration across requests.
|
|
28
|
+
*
|
|
29
|
+
* When provided, the factory owns parsing configuration and `maxBodySize`, `multipart`, and `rawBody` are ignored.
|
|
30
|
+
*/
|
|
31
|
+
factory?: RequestResponseFactory<Request, AbortSignal | undefined, WebFrameworkResponse>;
|
|
24
32
|
request: Request;
|
|
25
33
|
}
|
|
26
34
|
/**
|
|
@@ -43,7 +51,7 @@ export declare function createWebRequestResponseFactory(options?: CreateWebReque
|
|
|
43
51
|
* @param options - Dispatch configuration including the request and runtime parsing options.
|
|
44
52
|
* @returns The native Web response produced by the dispatcher.
|
|
45
53
|
*/
|
|
46
|
-
export declare function dispatchWebRequest({ dispatcher, dispatcherNotReadyMessage, request, ...options }: DispatchWebRequestOptions): Promise<Response>;
|
|
54
|
+
export declare function dispatchWebRequest({ dispatcher, dispatcherNotReadyMessage, factory, request, ...options }: DispatchWebRequestOptions): Promise<Response>;
|
|
47
55
|
/**
|
|
48
56
|
* Creates a framework request from a native Web request.
|
|
49
57
|
*
|
package/dist/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAU,gBAAgB;QACxB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,UAAU,CAAC;KACtB;CACF;AAOD;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,sCAAsC;IACvF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACzF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,UAAU,IAAI,QAAQ,CAAC;CACxB;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAgNhD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,sCAA2C,GACnD,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,oBAAoB,CAAC,CA+BhF;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,UAAU,EACV,yBAAiG,EACjG,OAAO,EACP,OAAO,EACP,GAAG,OAAO,EACX,EAAE,yBAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAU/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,WAAW,SAAwB,EACnC,eAAe,UAAQ,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
|