@pristine-ts/networking 0.0.175 → 0.0.176

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 (117) hide show
  1. package/dist/lib/cjs/errors/errors.js +3 -0
  2. package/dist/lib/cjs/errors/errors.js.map +1 -1
  3. package/dist/lib/cjs/errors/request-handling.error.js +20 -0
  4. package/dist/lib/cjs/errors/request-handling.error.js.map +1 -0
  5. package/dist/lib/cjs/errors/request-interception-execution.error.js +21 -0
  6. package/dist/lib/cjs/errors/request-interception-execution.error.js.map +1 -0
  7. package/dist/lib/cjs/errors/response-interception-execution.error.js +23 -0
  8. package/dist/lib/cjs/errors/response-interception-execution.error.js.map +1 -0
  9. package/dist/lib/cjs/{enrichers/enrichers.js → handlers/handlers.js} +2 -2
  10. package/dist/lib/cjs/handlers/handlers.js.map +1 -0
  11. package/dist/lib/cjs/handlers/request.event-handler.js +71 -0
  12. package/dist/lib/cjs/handlers/request.event-handler.js.map +1 -0
  13. package/dist/lib/cjs/interceptors/interceptors.js +15 -0
  14. package/dist/lib/cjs/interceptors/interceptors.js.map +1 -0
  15. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js +89 -0
  16. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js.map +1 -0
  17. package/dist/lib/cjs/{enrichers/router-response.enricher.js → interceptors/response-headers.interceptor.js} +14 -12
  18. package/dist/lib/cjs/interceptors/response-headers.interceptor.js.map +1 -0
  19. package/dist/lib/cjs/interfaces/interfaces.js +1 -2
  20. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  21. package/dist/lib/cjs/interfaces/{router-request-enricher.interface.js → request-interceptor.interface.js} +1 -1
  22. package/dist/lib/cjs/interfaces/request-interceptor.interface.js.map +1 -0
  23. package/dist/lib/cjs/mappers/mappers.js +14 -0
  24. package/dist/lib/cjs/mappers/mappers.js.map +1 -0
  25. package/dist/lib/cjs/mappers/request.mapper.js +37 -0
  26. package/dist/lib/cjs/mappers/request.mapper.js.map +1 -0
  27. package/dist/lib/cjs/models/models.js +0 -2
  28. package/dist/lib/cjs/models/models.js.map +1 -1
  29. package/dist/lib/cjs/networking.module.js +14 -2
  30. package/dist/lib/cjs/networking.module.js.map +1 -1
  31. package/dist/lib/cjs/router.js +167 -49
  32. package/dist/lib/cjs/router.js.map +1 -1
  33. package/dist/lib/esm/errors/errors.js +3 -0
  34. package/dist/lib/esm/errors/errors.js.map +1 -1
  35. package/dist/lib/esm/errors/request-handling.error.js +16 -0
  36. package/dist/lib/esm/errors/request-handling.error.js.map +1 -0
  37. package/dist/lib/esm/errors/request-interception-execution.error.js +17 -0
  38. package/dist/lib/esm/errors/request-interception-execution.error.js.map +1 -0
  39. package/dist/lib/esm/errors/response-interception-execution.error.js +19 -0
  40. package/dist/lib/esm/errors/response-interception-execution.error.js.map +1 -0
  41. package/dist/lib/esm/handlers/handlers.js +2 -0
  42. package/dist/lib/esm/handlers/handlers.js.map +1 -0
  43. package/dist/lib/esm/handlers/request.event-handler.js +68 -0
  44. package/dist/lib/esm/handlers/request.event-handler.js.map +1 -0
  45. package/dist/lib/esm/interceptors/interceptors.js +3 -0
  46. package/dist/lib/esm/interceptors/interceptors.js.map +1 -0
  47. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js +86 -0
  48. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js.map +1 -0
  49. package/dist/lib/esm/{enrichers/router-response.enricher.js → interceptors/response-headers.interceptor.js} +13 -11
  50. package/dist/lib/esm/interceptors/response-headers.interceptor.js.map +1 -0
  51. package/dist/lib/esm/interfaces/interfaces.js +1 -2
  52. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  53. package/dist/lib/esm/interfaces/request-interceptor.interface.js +2 -0
  54. package/dist/lib/esm/interfaces/request-interceptor.interface.js.map +1 -0
  55. package/dist/lib/esm/mappers/mappers.js +2 -0
  56. package/dist/lib/esm/mappers/mappers.js.map +1 -0
  57. package/dist/lib/esm/mappers/request.mapper.js +34 -0
  58. package/dist/lib/esm/mappers/request.mapper.js.map +1 -0
  59. package/dist/lib/esm/models/models.js +0 -2
  60. package/dist/lib/esm/models/models.js.map +1 -1
  61. package/dist/lib/esm/networking.module.js +14 -2
  62. package/dist/lib/esm/networking.module.js.map +1 -1
  63. package/dist/lib/esm/router.js +166 -48
  64. package/dist/lib/esm/router.js.map +1 -1
  65. package/dist/types/errors/errors.d.ts +3 -0
  66. package/dist/types/errors/request-handling.error.d.ts +7 -0
  67. package/dist/types/errors/request-interception-execution.error.d.ts +7 -0
  68. package/dist/types/errors/response-interception-execution.error.d.ts +7 -0
  69. package/dist/types/handlers/handlers.d.ts +1 -0
  70. package/dist/types/handlers/request.event-handler.d.ts +14 -0
  71. package/dist/types/interceptors/interceptors.d.ts +2 -0
  72. package/dist/types/interceptors/request-body-converter.interceptor.d.ts +9 -0
  73. package/dist/types/interceptors/response-headers.interceptor.d.ts +10 -0
  74. package/dist/types/interfaces/controller-method-parameter-decorator-resolver.interface.d.ts +1 -1
  75. package/dist/types/interfaces/interfaces.d.ts +1 -2
  76. package/dist/types/interfaces/request-interceptor.interface.d.ts +39 -0
  77. package/dist/types/interfaces/router.interface.d.ts +6 -3
  78. package/dist/types/mappers/mappers.d.ts +1 -0
  79. package/dist/types/mappers/request.mapper.d.ts +8 -0
  80. package/dist/types/models/models.d.ts +0 -2
  81. package/dist/types/networking.module.d.ts +3 -1
  82. package/dist/types/resolvers/body-parameter-decorator.resolver.d.ts +1 -1
  83. package/dist/types/resolvers/controller-method-parameter-decorator.resolver.d.ts +1 -1
  84. package/dist/types/resolvers/headers-parameter-decorator.resolver.d.ts +1 -1
  85. package/dist/types/resolvers/identity-parameter-decorator.resolver.d.ts +1 -1
  86. package/dist/types/resolvers/query-parameter-decorator.resolver.d.ts +1 -1
  87. package/dist/types/resolvers/query-parameters-decorator.resolver.d.ts +1 -1
  88. package/dist/types/resolvers/request-parameter-decorator.resolver.d.ts +1 -1
  89. package/dist/types/resolvers/route-parameter-decorator.resolver.d.ts +1 -1
  90. package/dist/types/router.d.ts +17 -7
  91. package/package.json +7 -5
  92. package/dist/lib/cjs/enrichers/enrichers.js.map +0 -1
  93. package/dist/lib/cjs/enrichers/router-response.enricher.js.map +0 -1
  94. package/dist/lib/cjs/interfaces/router-request-enricher.interface.js.map +0 -1
  95. package/dist/lib/cjs/interfaces/router-response-enricher.interface.js +0 -3
  96. package/dist/lib/cjs/interfaces/router-response-enricher.interface.js.map +0 -1
  97. package/dist/lib/cjs/models/request.js +0 -50
  98. package/dist/lib/cjs/models/request.js.map +0 -1
  99. package/dist/lib/cjs/models/response.js +0 -16
  100. package/dist/lib/cjs/models/response.js.map +0 -1
  101. package/dist/lib/esm/enrichers/enrichers.js +0 -2
  102. package/dist/lib/esm/enrichers/enrichers.js.map +0 -1
  103. package/dist/lib/esm/enrichers/router-response.enricher.js.map +0 -1
  104. package/dist/lib/esm/interfaces/router-request-enricher.interface.js +0 -2
  105. package/dist/lib/esm/interfaces/router-request-enricher.interface.js.map +0 -1
  106. package/dist/lib/esm/interfaces/router-response-enricher.interface.js +0 -2
  107. package/dist/lib/esm/interfaces/router-response-enricher.interface.js.map +0 -1
  108. package/dist/lib/esm/models/request.js +0 -46
  109. package/dist/lib/esm/models/request.js.map +0 -1
  110. package/dist/lib/esm/models/response.js +0 -12
  111. package/dist/lib/esm/models/response.js.map +0 -1
  112. package/dist/types/enrichers/enrichers.d.ts +0 -1
  113. package/dist/types/enrichers/router-response.enricher.d.ts +0 -11
  114. package/dist/types/interfaces/router-request-enricher.interface.d.ts +0 -18
  115. package/dist/types/interfaces/router-response-enricher.interface.d.ts +0 -20
  116. package/dist/types/models/request.d.ts +0 -45
  117. package/dist/types/models/response.d.ts +0 -24
@@ -26,16 +26,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.Router = void 0;
28
28
  const tsyringe_1 = require("tsyringe");
29
- const response_1 = require("./models/response");
30
29
  const url_util_1 = require("./utils/url.util");
31
30
  const not_found_http_error_1 = require("./errors/not-found.http-error");
32
31
  const path_router_node_1 = require("./nodes/path-router.node");
32
+ const route_1 = require("./models/route");
33
33
  const forbidden_http_error_1 = require("./errors/forbidden.http-error");
34
34
  const controller_method_parameter_decorator_resolver_1 = require("./resolvers/controller-method-parameter-decorator.resolver");
35
35
  const url_parse_1 = __importDefault(require("url-parse"));
36
36
  const common_1 = require("@pristine-ts/common");
37
37
  const networking_module_keyname_1 = require("./networking.module.keyname");
38
38
  const telemetry_1 = require("@pristine-ts/telemetry");
39
+ const controller_decorator_1 = require("./decorators/controller.decorator");
40
+ const lodash_1 = require("lodash");
41
+ const http_error_1 = require("./errors/http.error");
39
42
  /**
40
43
  * The router service is the service that creates the routing tree from the controllers.
41
44
  * It also executes a request properly by routing it to the intended controller and returns the response.
@@ -55,6 +58,8 @@ let Router = class Router {
55
58
  this.authorizerManager = authorizerManager;
56
59
  this.authenticationManager = authenticationManager;
57
60
  this.root = new path_router_node_1.PathRouterNode("/");
61
+ // This property is used to track whether the router has been already been properly instantiated or not.
62
+ this.setupCompleted = false;
58
63
  }
59
64
  /**
60
65
  * This method registers a Route into the Route Tree maintained by the router.
@@ -67,6 +72,59 @@ let Router = class Router {
67
72
  const splitPaths = url_util_1.UrlUtil.splitPath(path);
68
73
  this.root.add(splitPaths, method, route, 0);
69
74
  }
75
+ // /**
76
+ // * This method loops through the all the classes decorated with @controller, loops through all the methods decorated
77
+ // * with @route and builds the dependency tree of all the routes.
78
+ // *
79
+ // * @private
80
+ // */
81
+ setup() {
82
+ if (this.setupCompleted) {
83
+ return;
84
+ }
85
+ // Loop over all the controllers and control the Route Tree
86
+ controller_decorator_1.controllerRegistry.forEach(controller => {
87
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
88
+ if (controller.hasOwnProperty("__metadata__") === false) {
89
+ return;
90
+ }
91
+ let basePath = (_b = (_a = controller.__metadata__) === null || _a === void 0 ? void 0 : _a.controller) === null || _b === void 0 ? void 0 : _b.basePath;
92
+ // Clean the base path by removing trailing slashes.
93
+ if (basePath.endsWith("/")) {
94
+ basePath = basePath.slice(0, basePath.length - 1);
95
+ }
96
+ for (const methodPropertyKey in (_c = controller.__metadata__) === null || _c === void 0 ? void 0 : _c.methods) {
97
+ if (((_e = (_d = controller.__metadata__) === null || _d === void 0 ? void 0 : _d.methods) === null || _e === void 0 ? void 0 : _e.hasOwnProperty(methodPropertyKey)) === false) {
98
+ continue;
99
+ }
100
+ const method = (_f = controller.__metadata__) === null || _f === void 0 ? void 0 : _f.methods[methodPropertyKey];
101
+ if (method.hasOwnProperty("route") === false) {
102
+ continue;
103
+ }
104
+ // Retrieve the "RouteMethodDecorator" object assigned by the @route decorator at .route
105
+ const routeMethodDecorator = method.route;
106
+ // Build the Route object that will be used the the router to dispatch a request to
107
+ // the appropriate controller method
108
+ const route = new route_1.Route(controller.constructor, routeMethodDecorator.methodKeyname);
109
+ route.methodArguments = (_g = method.arguments) !== null && _g !== void 0 ? _g : [];
110
+ route.context = lodash_1.mergeWith({}, (_j = (_h = controller.__metadata__) === null || _h === void 0 ? void 0 : _h.controller) === null || _j === void 0 ? void 0 : _j.__routeContext__, method.__routeContext__);
111
+ // Build the proper path
112
+ let path = routeMethodDecorator.path;
113
+ // Clean the path by removing the first and trailing slashes.
114
+ if (path.startsWith("/")) {
115
+ path = path.slice(1, path.length);
116
+ }
117
+ if (path.endsWith("/")) {
118
+ path = path.slice(0, path.length - 1);
119
+ }
120
+ // Build the proper path
121
+ const routePath = basePath + "/" + path;
122
+ // Register the route
123
+ this.register(routePath, routeMethodDecorator.httpMethod, route);
124
+ }
125
+ });
126
+ this.setupCompleted = true;
127
+ }
70
128
  /**
71
129
  * This method receives a Request object, identifies the "path" its trying to hit, navigates the internally
72
130
  * maintained Route Tree, identifies the method in the controller that represents this "path", and calls the
@@ -76,6 +134,8 @@ let Router = class Router {
76
134
  * @param container
77
135
  */
78
136
  execute(request, container) {
137
+ // todo: remove all the rejects and replace it with a response that contains an error.
138
+ // This method cannot throw.
79
139
  const tracingManager = container.resolve("TracingManagerInterface");
80
140
  const routerRequestExecutionSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestExecution, telemetry_1.SpanKeynameEnum.RequestExecution);
81
141
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
@@ -101,7 +161,7 @@ let Router = class Router {
101
161
  url,
102
162
  }, networking_module_keyname_1.NetworkingModuleKeyname);
103
163
  routerRequestExecutionSpan.end();
104
- return reject(new not_found_http_error_1.NotFoundHttpError("No route found for path: '" + url.pathname + "'."));
164
+ return resolve(this.executeErrorResponseInterceptors(new not_found_http_error_1.NotFoundHttpError("No route found for path: '" + url.pathname + "'."), request, container));
105
165
  }
106
166
  // Get the route parameters
107
167
  const routeParameters = methodNode.parent.getRouteParameters(splitPath.reverse());
@@ -135,7 +195,7 @@ let Router = class Router {
135
195
  error = new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this.");
136
196
  }
137
197
  routerRequestExecutionSpan.end();
138
- return reject(error);
198
+ return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
139
199
  }
140
200
  // Call the controller with the resolved Method arguments
141
201
  try {
@@ -148,20 +208,20 @@ let Router = class Router {
148
208
  identity
149
209
  }, networking_module_keyname_1.NetworkingModuleKeyname);
150
210
  routerRequestExecutionSpan.end();
151
- return reject(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."));
211
+ return resolve(this.executeErrorResponseInterceptors(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."), request, container, methodNode));
152
212
  }
153
- // Execute all the enrichers to enrich the request.
154
- const requestEnrichersSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestEnrichers, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
155
- const enrichedRequest = yield this.executeRequestEnrichers(request, container, methodNode);
156
- requestEnrichersSpan.end();
213
+ // Execute all the interceptors
214
+ const requestInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RequestInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
215
+ const interceptedRequest = yield this.executeRequestInterceptors(request, container, methodNode);
216
+ requestInterceptorsSpan.end();
157
217
  this.loghandler.debug("This request has been enriched", {
158
218
  request,
159
- enrichedRequest,
219
+ interceptedRequest,
160
220
  }, networking_module_keyname_1.NetworkingModuleKeyname);
161
221
  // Resolve the value to inject in the method arguments that have a decorator resolver
162
222
  const resolvedMethodArguments = [];
163
223
  for (const methodArgument of methodNode.route.methodArguments) {
164
- resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, enrichedRequest, routeParameters, identity));
224
+ resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, interceptedRequest, routeParameters, identity));
165
225
  }
166
226
  this.loghandler.debug("Controller argument resolved", {
167
227
  resolvedMethodArguments,
@@ -175,22 +235,22 @@ let Router = class Router {
175
235
  }, networking_module_keyname_1.NetworkingModuleKeyname);
176
236
  let returnedResponse;
177
237
  // If the response is already a Response object, return the response
178
- if (response instanceof response_1.Response) {
238
+ if (response instanceof common_1.Response) {
179
239
  returnedResponse = response;
180
240
  }
181
241
  else {
182
242
  // If the response is not a response object, but the method hasn't thrown an error, assume the
183
243
  // returned response is directly the body. Also assume an Http Status code of 200.
184
- returnedResponse = new response_1.Response();
244
+ returnedResponse = new common_1.Response();
185
245
  returnedResponse.status = 200;
186
246
  returnedResponse.body = response;
187
247
  }
188
- const responseEnrichersSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterResponseEnrichers, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
189
- const enrichedResponse = yield this.executeResponseEnrichers(returnedResponse, request, container, methodNode);
190
- responseEnrichersSpan.end();
248
+ const responseInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.ResponseInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
249
+ const interceptedResponse = yield this.executeResponseInterceptors(returnedResponse, request, container, methodNode);
250
+ responseInterceptorsSpan.end();
191
251
  this.loghandler.debug("This response has been enriched", {
192
252
  returnedResponse,
193
- enrichedResponse,
253
+ enrichedResponse: interceptedResponse,
194
254
  }, networking_module_keyname_1.NetworkingModuleKeyname);
195
255
  routerRequestExecutionSpan.end();
196
256
  return resolve(returnedResponse);
@@ -199,84 +259,142 @@ let Router = class Router {
199
259
  this.loghandler.error("There was an error trying to execute the request in the router", {
200
260
  error,
201
261
  }, networking_module_keyname_1.NetworkingModuleKeyname);
262
+ // Execute router interceptors for the error response;
202
263
  routerRequestExecutionSpan.end();
203
- return reject(error);
264
+ return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
204
265
  }
205
266
  }));
206
267
  }
207
268
  /**
208
- * This method executes all the Router response enrichers and returns the response updated by the enrichers.
269
+ * This method executes all the Request Interceptors and returns the request updated by the interceptors.
209
270
  *
210
- * @param response
211
271
  * @param request
212
272
  * @param container
213
273
  * @param methodNode
214
274
  * @private
215
275
  */
216
- executeResponseEnrichers(response, request, container, methodNode) {
276
+ executeRequestInterceptors(request, container, methodNode) {
277
+ var _a, _b, _c;
217
278
  return __awaiter(this, void 0, void 0, function* () {
218
- // Execute all the request enrichers
219
- let enrichedResponse = response;
220
- // Check first if there are any Router Response enrichers
221
- if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RouterResponseEnricher, true)) {
222
- const enrichers = container.resolveAll(common_1.ServiceDefinitionTagEnum.RouterResponseEnricher);
223
- for (const enricher of enrichers) {
224
- // We don't have a guarantee that the Router response enrichers will implement the Interface, even though we specify it should.
279
+ // Execute all the request interceptors
280
+ let interceptedRequest = request;
281
+ // Check first if there are any Request Interceptors
282
+ if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RequestInterceptor, true)) {
283
+ const interceptors = container.resolveAll(common_1.ServiceDefinitionTagEnum.RequestInterceptor);
284
+ for (const interceptor of interceptors) {
285
+ // We don't have a guarantee that the Router Interceptors will implement the Interface, even though we specify it should.
225
286
  // So, we have to verify that the method exists, and if it doesn't we throw
226
- if (typeof enricher.enrichResponse === "undefined") {
227
- //todo should we type this error ?
228
- throw new Error("The Router Response Enricher named: '" + enricher.constructor.name + "' doesn't have the 'enrichResponse' method. RouterResponseEnrichers should implement the RouterResponseEnricher interface.");
287
+ if (typeof interceptor.interceptRequest === "undefined") {
288
+ // Simply log a message for now that the interceptors doesn't implement the 'interceptRequest' method.
289
+ this.loghandler.info("The Request Interceptor doesn't implement the interceptRequest method.", { name: interceptor.constructor.name, interceptor });
290
+ continue;
229
291
  }
230
292
  try {
231
293
  // https://stackoverflow.com/a/27760489/684101
232
- enrichedResponse = yield Promise.resolve(enricher.enrichResponse(enrichedResponse, request, methodNode));
294
+ interceptedRequest = (_c = yield ((_b = (_a = interceptor).interceptRequest) === null || _b === void 0 ? void 0 : _b.call(_a, interceptedRequest, methodNode))) !== null && _c !== void 0 ? _c : interceptedRequest;
233
295
  }
234
296
  catch (e) {
235
- this.loghandler.error("There was an exception thrown while executing the 'enrichResponse' method of the RouterResponseEnricher named: '" + enricher.constructor.name + "'.", { e }, networking_module_keyname_1.NetworkingModuleKeyname);
297
+ this.loghandler.error("There was an exception thrown while executing the 'interceptedRequest' method of the RequestInterceptor named: '" + interceptor.constructor.name + "'.", { e }, networking_module_keyname_1.NetworkingModuleKeyname);
236
298
  throw e;
237
299
  }
238
300
  }
239
301
  }
240
- return enrichedResponse;
302
+ return interceptedRequest;
241
303
  });
242
304
  }
243
305
  /**
244
- * This method executes all the Router request enrichers and returns the request updated by the enrichers.
306
+ * This method executes all the Request Interceptors and returns the response updated by the interceptors.
245
307
  *
308
+ * @param response
246
309
  * @param request
247
310
  * @param container
248
311
  * @param methodNode
249
312
  * @private
250
313
  */
251
- executeRequestEnrichers(request, container, methodNode) {
314
+ executeResponseInterceptors(response, request, container, methodNode) {
315
+ var _a, _b, _c;
252
316
  return __awaiter(this, void 0, void 0, function* () {
253
- // Execute all the request enrichers
254
- let enrichedRequest = request;
255
- // Check first if there are any Router Request enrichers
256
- if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RouterRequestEnricher, true)) {
257
- const enrichers = container.resolveAll(common_1.ServiceDefinitionTagEnum.RouterRequestEnricher);
258
- for (const enricher of enrichers) {
259
- // We don't have a guarantee that the Router response enrichers will implement the Interface, even though we specify it should.
317
+ // Execute all the request interceptors
318
+ let interceptedResponse = response;
319
+ // Check first if there are any Request interceptors
320
+ if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RequestInterceptor, true)) {
321
+ const interceptors = container.resolveAll(common_1.ServiceDefinitionTagEnum.RequestInterceptor);
322
+ for (const interceptor of interceptors) {
323
+ // We don't have a guarantee that the Router response interceptors will implement the Interface, even though we specify it should.
260
324
  // So, we have to verify that the method exists, and if it doesn't we throw
261
- if (typeof enricher.enrichRequest === "undefined") {
262
- //todo should we type this error ?
263
- throw new Error("The Router Request Enricher named: '" + enricher.constructor.name + "' doesn't have the 'enrichRequest' method. RouterRequestEnrichers should implement the RouterRequestEnricher interface.");
325
+ if (typeof interceptor.interceptResponse === "undefined") {
326
+ // Simply log a message for now that the interceptors doesn't implement the 'interceptResponse' method.
327
+ this.loghandler.info("The Request Interceptor doesn't implement the interceptResponse method.", { name: interceptor.constructor.name, interceptor });
328
+ continue;
264
329
  }
265
330
  try {
266
- // https://stackoverflow.com/a/27760489/684101
267
- enrichedRequest = yield Promise.resolve(enricher.enrichRequest(enrichedRequest, methodNode));
331
+ interceptedResponse = (_c = yield ((_b = (_a = interceptor).interceptResponse) === null || _b === void 0 ? void 0 : _b.call(_a, interceptedResponse, request, methodNode))) !== null && _c !== void 0 ? _c : interceptedResponse;
332
+ }
333
+ catch (e) {
334
+ this.loghandler.error("There was an exception thrown while executing the 'interceptResponse' method of the RequestInterceptor named: '" + interceptor.constructor.name + "'.", { e }, networking_module_keyname_1.NetworkingModuleKeyname);
335
+ throw e;
336
+ }
337
+ }
338
+ }
339
+ return interceptedResponse;
340
+ });
341
+ }
342
+ /**
343
+ * This method executes all the Request Interceptors and returns the response updated by the error interceptors.
344
+ *
345
+ * @param error
346
+ * @param request
347
+ * @param container
348
+ * @param methodNode
349
+ * @private
350
+ */
351
+ executeErrorResponseInterceptors(error, request, container, methodNode) {
352
+ var _a, _b, _c;
353
+ return __awaiter(this, void 0, void 0, function* () {
354
+ // Execute all the request interceptors
355
+ let interceptedResponse = new common_1.Response();
356
+ if (error instanceof http_error_1.HttpError) {
357
+ interceptedResponse.status = error.httpStatus;
358
+ interceptedResponse.body = {
359
+ name: error.name,
360
+ message: error.message,
361
+ stack: error.stack,
362
+ errors: error.errors,
363
+ extra: error.extra,
364
+ };
365
+ }
366
+ else {
367
+ interceptedResponse.status = 500;
368
+ interceptedResponse.body = { name: error.name, message: error.message, stack: error.stack };
369
+ }
370
+ interceptedResponse.request = request;
371
+ // Check first if there are any Request interceptors
372
+ if (container.isRegistered(common_1.ServiceDefinitionTagEnum.RequestInterceptor, true)) {
373
+ const interceptors = container.resolveAll(common_1.ServiceDefinitionTagEnum.RequestInterceptor);
374
+ for (const interceptor of interceptors) {
375
+ // We don't have a guarantee that the Router response interceptors will implement the Interface, even though we specify it should.
376
+ // So, we have to verify that the method exists, and if it doesn't we throw
377
+ if (typeof interceptor.interceptError === "undefined") {
378
+ // Simply log a message for now that the interceptors doesn't implement the 'interceptError' method.
379
+ this.loghandler.info("The Request Interceptor doesn't implement the interceptError method.", { name: interceptor.constructor.name, interceptor });
380
+ continue;
381
+ }
382
+ try {
383
+ interceptedResponse = (_c = yield ((_b = (_a = interceptor).interceptError) === null || _b === void 0 ? void 0 : _b.call(_a, error, interceptedResponse, request, methodNode))) !== null && _c !== void 0 ? _c : interceptedResponse;
268
384
  }
269
385
  catch (e) {
270
- this.loghandler.error("There was an exception thrown while executing the 'enrichedRequest' method of the RouterRequestEnricher named: '" + enricher.constructor.name + "'.", { e }, networking_module_keyname_1.NetworkingModuleKeyname);
386
+ this.loghandler.error("There was an exception thrown while executing the 'interceptError' method of the RequestInterceptor named: '" + interceptor.constructor.name + "'.", { e }, networking_module_keyname_1.NetworkingModuleKeyname);
271
387
  throw e;
272
388
  }
273
389
  }
274
390
  }
275
- return enrichedRequest;
391
+ interceptedResponse = yield this.executeResponseInterceptors(interceptedResponse, request, container, methodNode);
392
+ return interceptedResponse;
276
393
  });
277
394
  }
278
395
  };
279
396
  Router = __decorate([
397
+ common_1.tag("RouterInterface"),
280
398
  tsyringe_1.singleton(),
281
399
  __param(0, tsyringe_1.inject("LogHandlerInterface")),
282
400
  __param(2, tsyringe_1.inject("AuthorizerManagerInterface")),
@@ -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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"}
@@ -6,4 +6,7 @@ export * from "./method-router-adding.error";
6
6
  export * from "./not-found.http-error";
7
7
  export * from "./path-router-adding.error";
8
8
  export * from "./path-router-instantiation.error";
9
+ export * from "./request-handling.error";
10
+ export * from "./request-interception-execution.error";
11
+ export * from "./response-interception-execution.error";
9
12
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { LoggableError } from "@pristine-ts/common";
2
+ /**
3
+ * This Error is thrown when there's an error that happens while handling a request.
4
+ */
5
+ export class RequestHandlingError extends LoggableError {
6
+ constructor(message, request) {
7
+ super(message, {
8
+ request,
9
+ });
10
+ // Set the prototype explicitly.
11
+ // As specified in the documentation in TypeScript
12
+ // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
13
+ Object.setPrototypeOf(this, RequestHandlingError.prototype);
14
+ }
15
+ }
16
+ //# sourceMappingURL=request-handling.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-handling.error.js","sourceRoot":"","sources":["../../../../src/errors/request-handling.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAU,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IAEnD,YAAmB,OAAe,EAAE,OAAgB;QAChD,KAAK,CAAC,OAAO,EAAE;YACX,OAAO;SACV,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACxE"}
@@ -0,0 +1,17 @@
1
+ import { LoggableError } from "@pristine-ts/common";
2
+ /**
3
+ * This Error is thrown when there's an error in the execution of a request interceptor.
4
+ */
5
+ export class RequestInterceptionExecutionError extends LoggableError {
6
+ constructor(message, request, error) {
7
+ super(message, {
8
+ error,
9
+ request,
10
+ });
11
+ // Set the prototype explicitly.
12
+ // As specified in the documentation in TypeScript
13
+ // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
14
+ Object.setPrototypeOf(this, RequestInterceptionExecutionError.prototype);
15
+ }
16
+ }
17
+ //# sourceMappingURL=request-interception-execution.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-interception-execution.error.js","sourceRoot":"","sources":["../../../../src/errors/request-interception-execution.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAU,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,OAAO,iCAAkC,SAAQ,aAAa;IAEhE,YAAmB,OAAe,EAAE,OAAgB,EAAE,KAAa;QAC/D,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,OAAO;SACV,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACrF"}
@@ -0,0 +1,19 @@
1
+ import { LoggableError } from "@pristine-ts/common";
2
+ /**
3
+ * This Error is thrown when an error happens in the execution of a response interceptor.
4
+ */
5
+ export class ResponseInterceptionExecutionError extends LoggableError {
6
+ constructor(message, request, response, interceptor, previousError) {
7
+ super(message, {
8
+ previousError,
9
+ request,
10
+ response,
11
+ interceptor,
12
+ });
13
+ // Set the prototype explicitly.
14
+ // As specified in the documentation in TypeScript
15
+ // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
16
+ Object.setPrototypeOf(this, ResponseInterceptionExecutionError.prototype);
17
+ }
18
+ }
19
+ //# sourceMappingURL=response-interception-execution.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-interception-execution.error.js","sourceRoot":"","sources":["../../../../src/errors/response-interception-execution.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,OAAO,kCAAmC,SAAQ,aAAa;IAEjE,YAAmB,OAAe,EAAE,OAAgB,EAAE,QAAkB,EAAE,WAAgB,EAAE,aAAqB;QAC7G,KAAK,CAAC,OAAO,EAAE;YACX,aAAa;YACb,OAAO;YACP,QAAQ;YACR,WAAW;SACd,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kCAAkC,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACtF"}
@@ -0,0 +1,2 @@
1
+ export * from "./request.event-handler";
2
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../../src/handlers/handlers.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,68 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ import { EventResponse } from "@pristine-ts/core";
23
+ import { injectable, inject } from "tsyringe";
24
+ import { moduleScoped, Request, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
25
+ import { NetworkingModuleKeyname } from "../networking.module.keyname";
26
+ let RequestEventHandler = class RequestEventHandler {
27
+ constructor(router, tracingManager, dependencyContainer) {
28
+ this.router = router;
29
+ this.tracingManager = tracingManager;
30
+ this.dependencyContainer = dependencyContainer;
31
+ this.priority = 10000; // Arbitrarily set to 10 000 so that another handler can have more priority, but be certain you know what you are doing.
32
+ }
33
+ supports(event) {
34
+ return event.payload instanceof Request;
35
+ }
36
+ handle(event) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ // todo: add tracing to calculate router setup
39
+ // We can use the injected TracingManager
40
+ this.router.setup();
41
+ //previous code:
42
+ // const routerSetupSpan = new Span(SpanKeynameEnum.RouterSetup);
43
+ //
44
+ // // Setup the router
45
+ // this.setupRouter();
46
+ //
47
+ // routerSetupSpan.endDate = Date.now();
48
+ // this.initializationSpan.addChild(routerSetupSpan);
49
+ //todo add tracing to calculate request execution
50
+ // todo catch if the method throws even though it should never throw.
51
+ const response = yield this.router.execute(event.payload, this.dependencyContainer);
52
+ //previous code:
53
+ // const requestSpan = tracingManager.startSpan(SpanKeynameEnum.RequestExecution);
54
+ return new EventResponse(event, response);
55
+ });
56
+ }
57
+ };
58
+ RequestEventHandler = __decorate([
59
+ moduleScoped(NetworkingModuleKeyname),
60
+ tag(ServiceDefinitionTagEnum.EventHandler),
61
+ injectable(),
62
+ __param(0, inject("RouterInterface")),
63
+ __param(1, inject("TracingManagerInterface")),
64
+ __param(2, inject(ServiceDefinitionTagEnum.CurrentChildContainer)),
65
+ __metadata("design:paramtypes", [Object, Object, Object])
66
+ ], RequestEventHandler);
67
+ export { RequestEventHandler };
68
+ //# sourceMappingURL=request.event-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.event-handler.js","sourceRoot":"","sources":["../../../../src/handlers/request.event-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAA+B,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAC,YAAY,EAAE,OAAO,EAAY,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAKrE,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAG5B,YAAwD,MAAuB,EACf,cAAuC,EAClB,mBAAwC;QAFrE,WAAM,GAAN,MAAM,CAAiB;QACf,mBAAc,GAAd,cAAc,CAAyB;QAClB,wBAAmB,GAAnB,mBAAmB,CAAqB;QAJ7H,aAAQ,GAAW,KAAK,CAAC,CAAC,wHAAwH;IAKlJ,CAAC;IAED,QAAQ,CAAI,KAAe;QACvB,OAAO,KAAK,CAAC,OAAO,YAAY,OAAO,CAAC;IAC5C,CAAC;IAEK,MAAM,CAAC,KAAqB;;YAC9B,8CAA8C;YAC9C,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACnB,gBAAgB;YAChB,qEAAqE;YACrE,EAAE;YACF,0BAA0B;YAC1B,0BAA0B;YAC1B,EAAE;YACF,4CAA4C;YAC5C,yDAAyD;YAGzD,iDAAiD;YACjD,qEAAqE;YAErE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpF,gBAAgB;YAChB,kFAAkF;YAElF,OAAO,IAAI,aAAa,CAAoB,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;KAAA;CAEJ,CAAA;AArCY,mBAAmB;IAH/B,YAAY,CAAC,uBAAuB,CAAC;IACrC,GAAG,CAAC,wBAAwB,CAAC,YAAY,CAAC;IAC1C,UAAU,EAAE;IAII,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACjC,WAAA,MAAM,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAA;;GAL1D,mBAAmB,CAqC/B;SArCY,mBAAmB"}
@@ -0,0 +1,3 @@
1
+ export * from "./request-body-converter.interceptor";
2
+ export * from "./response-headers.interceptor";
3
+ //# sourceMappingURL=interceptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptors.js","sourceRoot":"","sources":["../../../../src/interceptors/interceptors.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC"}