@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.
Files changed (58) hide show
  1. package/dist/lib/cjs/contexts/contexts.js +18 -0
  2. package/dist/lib/cjs/contexts/contexts.js.map +1 -0
  3. package/dist/lib/cjs/contexts/request-context.js +24 -0
  4. package/dist/lib/cjs/contexts/request-context.js.map +1 -0
  5. package/dist/lib/cjs/handlers/request.event-handler.js +2 -10
  6. package/dist/lib/cjs/handlers/request.event-handler.js.map +1 -1
  7. package/dist/lib/cjs/interceptors/body-mapping.request-interceptor.js +7 -0
  8. package/dist/lib/cjs/interceptors/body-mapping.request-interceptor.js.map +1 -1
  9. package/dist/lib/cjs/interceptors/default-content-type-response-header.interceptor.js +7 -0
  10. package/dist/lib/cjs/interceptors/default-content-type-response-header.interceptor.js.map +1 -1
  11. package/dist/lib/cjs/interceptors/error-response-sanitizer.request-interceptor.js +7 -0
  12. package/dist/lib/cjs/interceptors/error-response-sanitizer.request-interceptor.js.map +1 -1
  13. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js +9 -3
  14. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js.map +1 -1
  15. package/dist/lib/cjs/interceptors/response-headers.interceptor.js +10 -0
  16. package/dist/lib/cjs/interceptors/response-headers.interceptor.js.map +1 -1
  17. package/dist/lib/cjs/managers/managers.js +18 -0
  18. package/dist/lib/cjs/managers/managers.js.map +1 -0
  19. package/dist/lib/cjs/managers/request-context.manager.js +98 -0
  20. package/dist/lib/cjs/managers/request-context.manager.js.map +1 -0
  21. package/dist/lib/cjs/networking.module.js +2 -0
  22. package/dist/lib/cjs/networking.module.js.map +1 -1
  23. package/dist/lib/cjs/router.js +184 -155
  24. package/dist/lib/cjs/router.js.map +1 -1
  25. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  26. package/dist/lib/esm/contexts/contexts.js +2 -0
  27. package/dist/lib/esm/contexts/contexts.js.map +1 -0
  28. package/dist/lib/esm/contexts/request-context.js +20 -0
  29. package/dist/lib/esm/contexts/request-context.js.map +1 -0
  30. package/dist/lib/esm/handlers/request.event-handler.js +2 -10
  31. package/dist/lib/esm/handlers/request.event-handler.js.map +1 -1
  32. package/dist/lib/esm/interceptors/body-mapping.request-interceptor.js +8 -1
  33. package/dist/lib/esm/interceptors/body-mapping.request-interceptor.js.map +1 -1
  34. package/dist/lib/esm/interceptors/default-content-type-response-header.interceptor.js +8 -1
  35. package/dist/lib/esm/interceptors/default-content-type-response-header.interceptor.js.map +1 -1
  36. package/dist/lib/esm/interceptors/error-response-sanitizer.request-interceptor.js +8 -1
  37. package/dist/lib/esm/interceptors/error-response-sanitizer.request-interceptor.js.map +1 -1
  38. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js +10 -4
  39. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js.map +1 -1
  40. package/dist/lib/esm/interceptors/response-headers.interceptor.js +11 -1
  41. package/dist/lib/esm/interceptors/response-headers.interceptor.js.map +1 -1
  42. package/dist/lib/esm/managers/managers.js +2 -0
  43. package/dist/lib/esm/managers/managers.js.map +1 -0
  44. package/dist/lib/esm/managers/request-context.manager.js +95 -0
  45. package/dist/lib/esm/managers/request-context.manager.js.map +1 -0
  46. package/dist/lib/esm/networking.module.js +2 -0
  47. package/dist/lib/esm/networking.module.js.map +1 -1
  48. package/dist/lib/esm/router.js +184 -155
  49. package/dist/lib/esm/router.js.map +1 -1
  50. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  51. package/dist/types/contexts/contexts.d.ts +1 -0
  52. package/dist/types/contexts/request-context.d.ts +24 -0
  53. package/dist/types/handlers/request.event-handler.d.ts +2 -3
  54. package/dist/types/managers/managers.d.ts +1 -0
  55. package/dist/types/managers/request-context.manager.d.ts +43 -0
  56. package/dist/types/networking.module.d.ts +2 -0
  57. package/dist/types/router.d.ts +3 -1
  58. package/package.json +7 -7
@@ -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, _b, _c, _d;
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
- // Instantiate the controller
195
- const routerControllerResolverSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterControllerResolver, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
196
- this.loghandler.debug("Router - Will resolve the controller from the container", {
197
- routeParameters
198
- });
199
- const controller = container.resolve(methodNode.route.controllerInstantiationToken);
200
- this.loghandler.debug("Router - Controller resolved from the container", {
201
- routeParameters
202
- });
203
- routerControllerResolverSpan.end();
204
- this.loghandler.debug("Router - Before calling the authenticationManager", {
205
- controller,
206
- routeParameters
207
- });
208
- let identity;
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
- catch (error) {
224
- this.loghandler.error("Authentication error", {
225
- highlights: {
226
- errorMessage: (_c = error.message) !== null && _c !== void 0 ? _c : "Unknown error"
227
- },
228
- extra: {
229
- error,
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
- // Todo: check if the error is an UnauthorizedHttpError, else create one.
237
- if (error instanceof forbidden_http_error_1.ForbiddenHttpError === false) {
238
- error = new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this.");
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
- routerRequestExecutionSpan.end();
241
- return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
242
- }
243
- // Call the controller with the resolved Method arguments
244
- try {
245
- // Verify that the identity making the request is authorized to make such a request
246
- if ((yield this.authorizerManager.isAuthorized(request, methodNode.route.context, container, identity)) === false) {
247
- this.loghandler.error("User not authorized to access this url.", {
248
- request,
249
- context: methodNode.route.context,
250
- container,
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(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."), request, container, methodNode));
268
+ return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
255
269
  }
256
- // Execute all the interceptors
257
- const requestInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RequestInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
258
- const interceptedRequest = yield this.executeRequestInterceptors(request, container, methodNode);
259
- requestInterceptorsSpan.end();
260
- this.loghandler.debug("Intercepted Request", {
261
- extra: {
262
- request,
263
- interceptedRequest,
264
- },
265
- eventId: request.id,
266
- });
267
- // Resolve the value to inject in the method arguments that have a decorator resolver
268
- let resolvedMethodArguments = this.cache.getCachedControllerMethodArguments(cacheKeyname, interceptedRequest);
269
- // If the cache did not contain the cached controller method arguments
270
- if (resolvedMethodArguments === undefined) {
271
- this.loghandler.debug("Resolved method arguments were not cached, currently resolving", {
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
- resolvedMethodArguments = [];
279
- for (const methodArgument of methodNode.route.methodArguments) {
280
- resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, interceptedRequest, routeParameters, identity));
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
- this.cache.setControllerMethodArguments(cacheKeyname, interceptedRequest, resolvedMethodArguments);
283
- this.loghandler.debug("Resolved method arguments cached for next call.", {
284
- request,
285
- interceptedRequest,
286
- resolvedMethodArguments,
287
- });
288
- }
289
- else {
290
- this.loghandler.debug("Method arguments were successfully cached and will be used.", {
291
- request,
292
- interceptedRequest,
293
- resolvedMethodArguments,
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 = response;
312
- }
313
- else {
314
- // If the response is not a response object, but the method hasn't thrown an error, assume the
315
- // returned response is directly the body. Also assume an Http Status code of 200.
316
- returnedResponse = new common_1.Response();
317
- returnedResponse.status = 200;
318
- returnedResponse.body = response;
319
- this.loghandler.debug("Router - Response returned by the controller is NOT a Response object", {
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
- this.loghandler.debug("Router - The response before calling the response interceptors ", {
328
- extra: {
329
- response,
330
- returnedResponse,
331
- },
332
- eventId: request.id,
333
- });
334
- const responseInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.ResponseInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
335
- const interceptedResponse = yield this.executeResponseInterceptors(returnedResponse, request, container, methodNode);
336
- responseInterceptorsSpan.end();
337
- routerRequestExecutionSpan.end();
338
- return resolve(interceptedResponse);
339
- }
340
- catch (error) {
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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"}