@pristine-ts/networking 2.0.2 → 2.0.4
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/lib/cjs/contexts/contexts.js +18 -0
- package/dist/lib/cjs/contexts/contexts.js.map +1 -0
- package/dist/lib/cjs/contexts/request-context.js +24 -0
- package/dist/lib/cjs/contexts/request-context.js.map +1 -0
- package/dist/lib/cjs/handlers/request.event-handler.js +2 -10
- package/dist/lib/cjs/handlers/request.event-handler.js.map +1 -1
- package/dist/lib/cjs/interceptors/body-mapping.request-interceptor.js +7 -0
- package/dist/lib/cjs/interceptors/body-mapping.request-interceptor.js.map +1 -1
- package/dist/lib/cjs/interceptors/default-content-type-response-header.interceptor.js +7 -0
- package/dist/lib/cjs/interceptors/default-content-type-response-header.interceptor.js.map +1 -1
- package/dist/lib/cjs/interceptors/error-response-sanitizer.request-interceptor.js +7 -0
- package/dist/lib/cjs/interceptors/error-response-sanitizer.request-interceptor.js.map +1 -1
- package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js +9 -3
- package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js.map +1 -1
- package/dist/lib/cjs/interceptors/response-headers.interceptor.js +10 -0
- package/dist/lib/cjs/interceptors/response-headers.interceptor.js.map +1 -1
- package/dist/lib/cjs/managers/managers.js +18 -0
- package/dist/lib/cjs/managers/managers.js.map +1 -0
- package/dist/lib/cjs/managers/request-context.manager.js +98 -0
- package/dist/lib/cjs/managers/request-context.manager.js.map +1 -0
- package/dist/lib/cjs/networking.module.js +2 -0
- package/dist/lib/cjs/networking.module.js.map +1 -1
- package/dist/lib/cjs/router.js +184 -155
- package/dist/lib/cjs/router.js.map +1 -1
- package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/lib/esm/contexts/contexts.js +2 -0
- package/dist/lib/esm/contexts/contexts.js.map +1 -0
- package/dist/lib/esm/contexts/request-context.js +20 -0
- package/dist/lib/esm/contexts/request-context.js.map +1 -0
- package/dist/lib/esm/handlers/request.event-handler.js +2 -10
- package/dist/lib/esm/handlers/request.event-handler.js.map +1 -1
- package/dist/lib/esm/interceptors/body-mapping.request-interceptor.js +8 -1
- package/dist/lib/esm/interceptors/body-mapping.request-interceptor.js.map +1 -1
- package/dist/lib/esm/interceptors/default-content-type-response-header.interceptor.js +8 -1
- package/dist/lib/esm/interceptors/default-content-type-response-header.interceptor.js.map +1 -1
- package/dist/lib/esm/interceptors/error-response-sanitizer.request-interceptor.js +8 -1
- package/dist/lib/esm/interceptors/error-response-sanitizer.request-interceptor.js.map +1 -1
- package/dist/lib/esm/interceptors/request-body-converter.interceptor.js +10 -4
- package/dist/lib/esm/interceptors/request-body-converter.interceptor.js.map +1 -1
- package/dist/lib/esm/interceptors/response-headers.interceptor.js +11 -1
- package/dist/lib/esm/interceptors/response-headers.interceptor.js.map +1 -1
- package/dist/lib/esm/managers/managers.js +2 -0
- package/dist/lib/esm/managers/managers.js.map +1 -0
- package/dist/lib/esm/managers/request-context.manager.js +95 -0
- package/dist/lib/esm/managers/request-context.manager.js.map +1 -0
- package/dist/lib/esm/networking.module.js +2 -0
- package/dist/lib/esm/networking.module.js.map +1 -1
- package/dist/lib/esm/router.js +184 -155
- package/dist/lib/esm/router.js.map +1 -1
- package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/types/contexts/contexts.d.ts +1 -0
- package/dist/types/contexts/request-context.d.ts +24 -0
- package/dist/types/handlers/request.event-handler.d.ts +2 -3
- package/dist/types/managers/managers.d.ts +1 -0
- package/dist/types/managers/request-context.manager.d.ts +43 -0
- package/dist/types/networking.module.d.ts +2 -0
- package/dist/types/router.d.ts +3 -1
- package/package.json +7 -7
package/dist/lib/cjs/router.js
CHANGED
|
@@ -39,6 +39,8 @@ const http_error_1 = require("./errors/http.error");
|
|
|
39
39
|
const router_cache_1 = require("./cache/router.cache");
|
|
40
40
|
const metadata_1 = require("@pristine-ts/metadata");
|
|
41
41
|
const request_interceptor_priority_enum_1 = require("./enums/request-interceptor-priority.enum");
|
|
42
|
+
const request_context_1 = require("./contexts/request-context");
|
|
43
|
+
const request_context_manager_1 = require("./managers/request-context.manager");
|
|
42
44
|
/**
|
|
43
45
|
* The router service is the service that creates the routing tree from the controllers.
|
|
44
46
|
* It also executes a request properly by routing it to the intended controller and returns the response.
|
|
@@ -53,12 +55,13 @@ let Router = class Router {
|
|
|
53
55
|
* @param authorizerManager The authorizer manager to validate authorization.
|
|
54
56
|
* @param authenticationManager The authentication manager to validate authentication.
|
|
55
57
|
*/
|
|
56
|
-
constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager, cache) {
|
|
58
|
+
constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager, cache, requestContextManager) {
|
|
57
59
|
this.loghandler = loghandler;
|
|
58
60
|
this.controllerMethodParameterDecoratorResolver = controllerMethodParameterDecoratorResolver;
|
|
59
61
|
this.authorizerManager = authorizerManager;
|
|
60
62
|
this.authenticationManager = authenticationManager;
|
|
61
63
|
this.cache = cache;
|
|
64
|
+
this.requestContextManager = requestContextManager;
|
|
62
65
|
this.root = new path_router_node_1.PathRouterNode("/");
|
|
63
66
|
// This property is used to track whether the router has been already been properly instantiated or not.
|
|
64
67
|
this.setupCompleted = false;
|
|
@@ -142,10 +145,17 @@ let Router = class Router {
|
|
|
142
145
|
execute(request, container) {
|
|
143
146
|
// todo: remove all the rejects and replace it with a response that contains an error.
|
|
144
147
|
// This method cannot throw.
|
|
148
|
+
// ── container.resolve, justified ──────────────────────────────────────────────
|
|
149
|
+
// Per CLAUDE.md: the Router is `@singleton()` and lives for the whole process,
|
|
150
|
+
// but TracingManager is `@scoped(ContainerScoped)` — there's a different instance
|
|
151
|
+
// per per-event child container. The `container` parameter passed into execute()
|
|
152
|
+
// is that per-event child; resolving from it gives the right per-event manager.
|
|
153
|
+
// Constructor-injecting TracingManagerInterface on Router would freeze it to the
|
|
154
|
+
// root container's instance, defeating the per-event isolation.
|
|
145
155
|
const tracingManager = container.resolve("TracingManagerInterface");
|
|
146
156
|
const routerRequestExecutionSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestExecution, telemetry_1.SpanKeynameEnum.RequestExecution);
|
|
147
157
|
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
var _a
|
|
158
|
+
var _a;
|
|
149
159
|
// Start by decomposing the URL. Set second parameter to true since we want to parse the query strings
|
|
150
160
|
// Node's URL default package absolutely needs a base (or a host) if none is provided in the URL. Pristine doesn't
|
|
151
161
|
// care at all about the host. If one is provided in the url, the base provided will do nothing.
|
|
@@ -181,7 +191,6 @@ let Router = class Router {
|
|
|
181
191
|
rootNode: this.root,
|
|
182
192
|
request,
|
|
183
193
|
},
|
|
184
|
-
eventId: request.id,
|
|
185
194
|
});
|
|
186
195
|
routerRequestExecutionSpan.end();
|
|
187
196
|
return resolve(this.executeErrorResponseInterceptors(new not_found_http_error_1.NotFoundHttpError("No route found for method: '" + request.httpMethod + "' and path: '" + url.pathname + "'."), request, container));
|
|
@@ -191,166 +200,178 @@ let Router = class Router {
|
|
|
191
200
|
if (cachedRouterRoute !== undefined && cachedRouterRoute.routeParameters === undefined) {
|
|
192
201
|
cachedRouterRoute.routeParameters = routeParameters;
|
|
193
202
|
}
|
|
194
|
-
//
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
controller
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
// Authenticate the request
|
|
210
|
-
try {
|
|
211
|
-
const routerRequestAuthenticationSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestAuthentication, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
|
|
212
|
-
identity = yield this.authenticationManager.authenticate(request, methodNode.route.context, container);
|
|
213
|
-
routerRequestAuthenticationSpan.end();
|
|
214
|
-
this.loghandler.debug("Router - Found identity.", {
|
|
215
|
-
highlights: {
|
|
216
|
-
identityId: (_b = identity === null || identity === void 0 ? void 0 : identity.id) !== null && _b !== void 0 ? _b : "None",
|
|
217
|
-
}, extra: {
|
|
218
|
-
identity,
|
|
219
|
-
},
|
|
220
|
-
eventId: request.id,
|
|
203
|
+
// Install the per-request ALS context. Once installed, any code reached from here
|
|
204
|
+
// (controller method, services it calls, request/response interceptors, etc.) can
|
|
205
|
+
// read the request, methodNode, and (after auth) identity via
|
|
206
|
+
// `RequestContextManager.request()` / `.methodNode()` / `.identity()` without
|
|
207
|
+
// them being threaded through every parameter. `identity` is populated below
|
|
208
|
+
// after the authentication pipeline runs.
|
|
209
|
+
const requestContext = new request_context_1.RequestContext();
|
|
210
|
+
requestContext.request = request;
|
|
211
|
+
requestContext.methodNode = methodNode;
|
|
212
|
+
return this.requestContextManager.run(requestContext, () => __awaiter(this, void 0, void 0, function* () {
|
|
213
|
+
var _a, _b, _c;
|
|
214
|
+
// Instantiate the controller
|
|
215
|
+
const routerControllerResolverSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterControllerResolver, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
|
|
216
|
+
this.loghandler.debug("Router - Will resolve the controller from the container", {
|
|
217
|
+
routeParameters
|
|
221
218
|
});
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
request,
|
|
231
|
-
context: methodNode.route.context,
|
|
232
|
-
container
|
|
233
|
-
},
|
|
234
|
-
eventId: request.id,
|
|
219
|
+
// ── container.resolve, justified ────────────────────────────────────────────
|
|
220
|
+
// Per CLAUDE.md: dynamic dispatch. The controller class to instantiate is data
|
|
221
|
+
// on the route's `controllerInstantiationToken` — a different class per matched
|
|
222
|
+
// route, unknowable at Router construction time. The router's whole job is to
|
|
223
|
+
// pick which controller to call; resolving by token IS that pick.
|
|
224
|
+
const controller = container.resolve(methodNode.route.controllerInstantiationToken);
|
|
225
|
+
this.loghandler.debug("Router - Controller resolved from the container", {
|
|
226
|
+
routeParameters
|
|
235
227
|
});
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
228
|
+
routerControllerResolverSpan.end();
|
|
229
|
+
this.loghandler.debug("Router - Before calling the authenticationManager", {
|
|
230
|
+
controller,
|
|
231
|
+
routeParameters
|
|
232
|
+
});
|
|
233
|
+
let identity;
|
|
234
|
+
// Authenticate the request
|
|
235
|
+
try {
|
|
236
|
+
const routerRequestAuthenticationSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestAuthentication, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
|
|
237
|
+
identity = yield this.authenticationManager.authenticate(request, methodNode.route.context, container);
|
|
238
|
+
routerRequestAuthenticationSpan.end();
|
|
239
|
+
// Make the resolved identity available to downstream code via the RequestContext.
|
|
240
|
+
// Services deep in the stack (voters, audit loggers, etc.) can read it from
|
|
241
|
+
// `RequestContextManager.identity()` without needing it passed as a parameter.
|
|
242
|
+
requestContext.identity = identity;
|
|
243
|
+
this.loghandler.debug("Router - Found identity.", {
|
|
244
|
+
highlights: {
|
|
245
|
+
identityId: (_a = identity === null || identity === void 0 ? void 0 : identity.id) !== null && _a !== void 0 ? _a : "None",
|
|
246
|
+
}, extra: {
|
|
247
|
+
identity,
|
|
248
|
+
},
|
|
249
|
+
});
|
|
239
250
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
identity
|
|
251
|
+
catch (error) {
|
|
252
|
+
this.loghandler.error("Authentication error", {
|
|
253
|
+
highlights: {
|
|
254
|
+
errorMessage: (_b = error.message) !== null && _b !== void 0 ? _b : "Unknown error"
|
|
255
|
+
},
|
|
256
|
+
extra: {
|
|
257
|
+
error,
|
|
258
|
+
request,
|
|
259
|
+
context: methodNode.route.context,
|
|
260
|
+
container
|
|
261
|
+
},
|
|
252
262
|
});
|
|
263
|
+
// Todo: check if the error is an UnauthorizedHttpError, else create one.
|
|
264
|
+
if (error instanceof forbidden_http_error_1.ForbiddenHttpError === false) {
|
|
265
|
+
error = new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this.");
|
|
266
|
+
}
|
|
253
267
|
routerRequestExecutionSpan.end();
|
|
254
|
-
return resolve(this.executeErrorResponseInterceptors(
|
|
268
|
+
return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
|
|
255
269
|
}
|
|
256
|
-
//
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
270
|
+
// Call the controller with the resolved Method arguments
|
|
271
|
+
try {
|
|
272
|
+
// Verify that the identity making the request is authorized to make such a request
|
|
273
|
+
if ((yield this.authorizerManager.isAuthorized(request, methodNode.route.context, container, identity)) === false) {
|
|
274
|
+
this.loghandler.error("User not authorized to access this url.", {
|
|
275
|
+
request,
|
|
276
|
+
context: methodNode.route.context,
|
|
277
|
+
container,
|
|
278
|
+
identity
|
|
279
|
+
});
|
|
280
|
+
routerRequestExecutionSpan.end();
|
|
281
|
+
return resolve(this.executeErrorResponseInterceptors(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."), request, container, methodNode));
|
|
282
|
+
}
|
|
283
|
+
// Execute all the interceptors
|
|
284
|
+
const requestInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RequestInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
|
|
285
|
+
const interceptedRequest = yield this.executeRequestInterceptors(request, container, methodNode);
|
|
286
|
+
requestInterceptorsSpan.end();
|
|
287
|
+
this.loghandler.debug("Intercepted Request", {
|
|
272
288
|
extra: {
|
|
273
289
|
request,
|
|
274
290
|
interceptedRequest,
|
|
275
291
|
},
|
|
276
|
-
eventId: request.id,
|
|
277
292
|
});
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
293
|
+
// Resolve the value to inject in the method arguments that have a decorator resolver
|
|
294
|
+
let resolvedMethodArguments = this.cache.getCachedControllerMethodArguments(cacheKeyname, interceptedRequest);
|
|
295
|
+
// If the cache did not contain the cached controller method arguments
|
|
296
|
+
if (resolvedMethodArguments === undefined) {
|
|
297
|
+
this.loghandler.debug("Resolved method arguments were not cached, currently resolving", {
|
|
298
|
+
extra: {
|
|
299
|
+
request,
|
|
300
|
+
interceptedRequest,
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
resolvedMethodArguments = [];
|
|
304
|
+
for (const methodArgument of methodNode.route.methodArguments) {
|
|
305
|
+
resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, interceptedRequest, routeParameters, identity));
|
|
306
|
+
}
|
|
307
|
+
this.cache.setControllerMethodArguments(cacheKeyname, interceptedRequest, resolvedMethodArguments);
|
|
308
|
+
this.loghandler.debug("Resolved method arguments cached for next call.", {
|
|
309
|
+
request,
|
|
310
|
+
interceptedRequest,
|
|
311
|
+
resolvedMethodArguments,
|
|
312
|
+
});
|
|
281
313
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
const controllerResponse = controller[methodNode.route.methodPropertyKey](...resolvedMethodArguments);
|
|
297
|
-
// This resolves the promise if it's a promise or promisifies the value
|
|
298
|
-
// https://stackoverflow.com/a/27760489/684101
|
|
299
|
-
const response = yield Promise.resolve(controllerResponse);
|
|
300
|
-
this.loghandler.debug("Router - The response returned by the controller", {
|
|
301
|
-
extra: { response },
|
|
302
|
-
eventId: request.id,
|
|
303
|
-
});
|
|
304
|
-
let returnedResponse;
|
|
305
|
-
// If the response is already a Response object, return the response
|
|
306
|
-
if (response instanceof common_1.Response) {
|
|
307
|
-
this.loghandler.debug("Router - Response returned by the controller is a Response object", {
|
|
314
|
+
else {
|
|
315
|
+
this.loghandler.debug("Method arguments were successfully cached and will be used.", {
|
|
316
|
+
request,
|
|
317
|
+
interceptedRequest,
|
|
318
|
+
resolvedMethodArguments,
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
const controllerResponse = controller[methodNode.route.methodPropertyKey](...resolvedMethodArguments);
|
|
322
|
+
// This resolves the promise if it's a promise or promisifies the value
|
|
323
|
+
// https://stackoverflow.com/a/27760489/684101
|
|
324
|
+
const response = yield Promise.resolve(controllerResponse);
|
|
325
|
+
this.loghandler.debug("Router - The response returned by the controller", {
|
|
308
326
|
extra: { response },
|
|
309
|
-
eventId: request.id,
|
|
310
327
|
});
|
|
311
|
-
returnedResponse
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
328
|
+
let returnedResponse;
|
|
329
|
+
// If the response is already a Response object, return the response
|
|
330
|
+
if (response instanceof common_1.Response) {
|
|
331
|
+
this.loghandler.debug("Router - Response returned by the controller is a Response object", {
|
|
332
|
+
extra: { response },
|
|
333
|
+
});
|
|
334
|
+
returnedResponse = response;
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
// If the response is not a response object, but the method hasn't thrown an error, assume the
|
|
338
|
+
// returned response is directly the body. Also assume an Http Status code of 200.
|
|
339
|
+
returnedResponse = new common_1.Response();
|
|
340
|
+
returnedResponse.status = 200;
|
|
341
|
+
returnedResponse.body = response;
|
|
342
|
+
this.loghandler.debug("Router - Response returned by the controller is NOT a Response object", {
|
|
343
|
+
extra: {
|
|
344
|
+
response,
|
|
345
|
+
returnedResponse,
|
|
346
|
+
},
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
this.loghandler.debug("Router - The response before calling the response interceptors ", {
|
|
320
350
|
extra: {
|
|
321
351
|
response,
|
|
322
352
|
returnedResponse,
|
|
323
353
|
},
|
|
324
|
-
eventId: request.id,
|
|
325
354
|
});
|
|
355
|
+
const responseInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.ResponseInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
|
|
356
|
+
const interceptedResponse = yield this.executeResponseInterceptors(returnedResponse, request, container, methodNode);
|
|
357
|
+
responseInterceptorsSpan.end();
|
|
358
|
+
routerRequestExecutionSpan.end();
|
|
359
|
+
return resolve(interceptedResponse);
|
|
326
360
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
this.loghandler.error("Router - There was an error trying to execute the request in the router", {
|
|
342
|
-
highlights: {
|
|
343
|
-
errorMessage: (_d = error.message) !== null && _d !== void 0 ? _d : "Unknown error",
|
|
344
|
-
},
|
|
345
|
-
extra: {
|
|
346
|
-
error,
|
|
347
|
-
},
|
|
348
|
-
eventId: request.id,
|
|
349
|
-
});
|
|
350
|
-
// Execute router interceptors for the error response;
|
|
351
|
-
routerRequestExecutionSpan.end();
|
|
352
|
-
return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
|
|
353
|
-
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
this.loghandler.error("Router - There was an error trying to execute the request in the router", {
|
|
363
|
+
highlights: {
|
|
364
|
+
errorMessage: (_c = error.message) !== null && _c !== void 0 ? _c : "Unknown error",
|
|
365
|
+
},
|
|
366
|
+
extra: {
|
|
367
|
+
error,
|
|
368
|
+
},
|
|
369
|
+
});
|
|
370
|
+
// Execute router interceptors for the error response;
|
|
371
|
+
routerRequestExecutionSpan.end();
|
|
372
|
+
return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
|
|
373
|
+
}
|
|
374
|
+
})); // closes requestContextManager.run(requestContext, async () => ...)
|
|
354
375
|
}));
|
|
355
376
|
}
|
|
356
377
|
/**
|
|
@@ -391,12 +412,17 @@ let Router = class Router {
|
|
|
391
412
|
request,
|
|
392
413
|
methodNode,
|
|
393
414
|
},
|
|
394
|
-
eventId: request.id,
|
|
395
415
|
});
|
|
396
416
|
// Execute all the request interceptors
|
|
397
417
|
let interceptedRequest = request;
|
|
398
418
|
// Check first if there are any Request Interceptors
|
|
399
419
|
if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RequestInterceptor, true)) {
|
|
420
|
+
// ── container.resolveAll, justified ──────────────────────────────────────
|
|
421
|
+
// Per CLAUDE.md: collection-tagged per-event resolution. The interceptors are
|
|
422
|
+
// resolved from the per-event child container (`container` parameter) so each
|
|
423
|
+
// request sees the per-event instances of any container-scoped interceptors.
|
|
424
|
+
// Constructor-injecting on Router (which is `@singleton()`) would freeze them
|
|
425
|
+
// to the kernel container's instances.
|
|
400
426
|
const interceptors = container.resolveAll(common_1.ServiceDefinitionTagEnum.RequestInterceptor).sort((a, b) => {
|
|
401
427
|
var _a, _b;
|
|
402
428
|
const aPriority = (_a = a.priority) !== null && _a !== void 0 ? _a : request_interceptor_priority_enum_1.RequestInterceptorPriorityEnum.Default;
|
|
@@ -415,7 +441,6 @@ let Router = class Router {
|
|
|
415
441
|
extra: {
|
|
416
442
|
interceptor
|
|
417
443
|
},
|
|
418
|
-
eventId: request.id,
|
|
419
444
|
});
|
|
420
445
|
continue;
|
|
421
446
|
}
|
|
@@ -433,7 +458,6 @@ let Router = class Router {
|
|
|
433
458
|
error,
|
|
434
459
|
interceptor,
|
|
435
460
|
},
|
|
436
|
-
eventId: request.id,
|
|
437
461
|
});
|
|
438
462
|
throw error;
|
|
439
463
|
}
|
|
@@ -445,7 +469,6 @@ let Router = class Router {
|
|
|
445
469
|
interceptedRequest,
|
|
446
470
|
methodNode,
|
|
447
471
|
},
|
|
448
|
-
eventId: request.id,
|
|
449
472
|
});
|
|
450
473
|
return interceptedRequest;
|
|
451
474
|
});
|
|
@@ -468,12 +491,17 @@ let Router = class Router {
|
|
|
468
491
|
request,
|
|
469
492
|
methodNode,
|
|
470
493
|
},
|
|
471
|
-
eventId: request.id,
|
|
472
494
|
});
|
|
473
495
|
// Execute all the request interceptors
|
|
474
496
|
let interceptedResponse = response;
|
|
475
497
|
// Check first if there are any Request interceptors
|
|
476
498
|
if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RequestInterceptor, true)) {
|
|
499
|
+
// ── container.resolveAll, justified ──────────────────────────────────────
|
|
500
|
+
// Per CLAUDE.md: collection-tagged per-event resolution. The interceptors are
|
|
501
|
+
// resolved from the per-event child container (`container` parameter) so each
|
|
502
|
+
// request sees the per-event instances of any container-scoped interceptors.
|
|
503
|
+
// Constructor-injecting on Router (which is `@singleton()`) would freeze them
|
|
504
|
+
// to the kernel container's instances.
|
|
477
505
|
const interceptors = container.resolveAll(common_1.ServiceDefinitionTagEnum.RequestInterceptor).sort((a, b) => {
|
|
478
506
|
var _a, _b;
|
|
479
507
|
const aPriority = (_a = a.priority) !== null && _a !== void 0 ? _a : request_interceptor_priority_enum_1.RequestInterceptorPriorityEnum.Default;
|
|
@@ -492,7 +520,6 @@ let Router = class Router {
|
|
|
492
520
|
extra: {
|
|
493
521
|
interceptor
|
|
494
522
|
},
|
|
495
|
-
eventId: request.id,
|
|
496
523
|
});
|
|
497
524
|
continue;
|
|
498
525
|
}
|
|
@@ -508,7 +535,6 @@ let Router = class Router {
|
|
|
508
535
|
error,
|
|
509
536
|
interceptor,
|
|
510
537
|
},
|
|
511
|
-
eventId: request.id,
|
|
512
538
|
});
|
|
513
539
|
throw error;
|
|
514
540
|
}
|
|
@@ -521,7 +547,6 @@ let Router = class Router {
|
|
|
521
547
|
request,
|
|
522
548
|
methodNode,
|
|
523
549
|
},
|
|
524
|
-
eventId: request.id,
|
|
525
550
|
});
|
|
526
551
|
return interceptedResponse;
|
|
527
552
|
});
|
|
@@ -562,6 +587,12 @@ let Router = class Router {
|
|
|
562
587
|
interceptedResponse.request = request;
|
|
563
588
|
// Check first if there are any Request interceptors
|
|
564
589
|
if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RequestInterceptor, true)) {
|
|
590
|
+
// ── container.resolveAll, justified ──────────────────────────────────────
|
|
591
|
+
// Per CLAUDE.md: collection-tagged per-event resolution. The interceptors are
|
|
592
|
+
// resolved from the per-event child container (`container` parameter) so each
|
|
593
|
+
// request sees the per-event instances of any container-scoped interceptors.
|
|
594
|
+
// Constructor-injecting on Router (which is `@singleton()`) would freeze them
|
|
595
|
+
// to the kernel container's instances.
|
|
565
596
|
const interceptors = container.resolveAll(common_1.ServiceDefinitionTagEnum.RequestInterceptor).sort((a, b) => {
|
|
566
597
|
var _a, _b;
|
|
567
598
|
const aPriority = (_a = a.priority) !== null && _a !== void 0 ? _a : request_interceptor_priority_enum_1.RequestInterceptorPriorityEnum.Default;
|
|
@@ -580,7 +611,6 @@ let Router = class Router {
|
|
|
580
611
|
extra: {
|
|
581
612
|
interceptor
|
|
582
613
|
},
|
|
583
|
-
eventId: request.id,
|
|
584
614
|
});
|
|
585
615
|
continue;
|
|
586
616
|
}
|
|
@@ -594,7 +624,6 @@ let Router = class Router {
|
|
|
594
624
|
interceptorName: interceptor.constructor.name,
|
|
595
625
|
},
|
|
596
626
|
extra: { error },
|
|
597
|
-
eventId: request.id,
|
|
598
627
|
});
|
|
599
628
|
throw error;
|
|
600
629
|
}
|
|
@@ -608,7 +637,6 @@ let Router = class Router {
|
|
|
608
637
|
request,
|
|
609
638
|
methodNode,
|
|
610
639
|
},
|
|
611
|
-
eventId: request.id,
|
|
612
640
|
});
|
|
613
641
|
return interceptedResponse;
|
|
614
642
|
});
|
|
@@ -621,6 +649,7 @@ exports.Router = Router = __decorate([
|
|
|
621
649
|
__param(0, (0, tsyringe_1.inject)("LogHandlerInterface")),
|
|
622
650
|
__param(2, (0, tsyringe_1.inject)("AuthorizerManagerInterface")),
|
|
623
651
|
__param(3, (0, tsyringe_1.inject)("AuthenticationManagerInterface")),
|
|
624
|
-
__metadata("design:paramtypes", [Object, controller_method_parameter_decorator_resolver_1.ControllerMethodParameterDecoratorResolver, Object, Object, router_cache_1.RouterCache
|
|
652
|
+
__metadata("design:paramtypes", [Object, controller_method_parameter_decorator_resolver_1.ControllerMethodParameterDecoratorResolver, Object, Object, router_cache_1.RouterCache,
|
|
653
|
+
request_context_manager_1.RequestContextManager])
|
|
625
654
|
], Router);
|
|
626
655
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
|