@pristine-ts/networking 2.0.4 → 2.0.5

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 (97) hide show
  1. package/dist/lib/cjs/errors/errors.js +1 -7
  2. package/dist/lib/cjs/errors/errors.js.map +1 -1
  3. package/dist/lib/cjs/errors/method-router-adding.error.js +7 -12
  4. package/dist/lib/cjs/errors/method-router-adding.error.js.map +1 -1
  5. package/dist/lib/cjs/errors/networking-error-code.enum.js +16 -0
  6. package/dist/lib/cjs/errors/networking-error-code.enum.js.map +1 -0
  7. package/dist/lib/cjs/errors/path-router-adding.error.js +7 -11
  8. package/dist/lib/cjs/errors/path-router-adding.error.js.map +1 -1
  9. package/dist/lib/cjs/errors/path-router-instantiation.error.js +5 -9
  10. package/dist/lib/cjs/errors/path-router-instantiation.error.js.map +1 -1
  11. package/dist/lib/cjs/errors/request-handling.error.js +4 -8
  12. package/dist/lib/cjs/errors/request-handling.error.js.map +1 -1
  13. package/dist/lib/cjs/interceptors/interceptors.js +0 -1
  14. package/dist/lib/cjs/interceptors/interceptors.js.map +1 -1
  15. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js +4 -4
  16. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js.map +1 -1
  17. package/dist/lib/cjs/networking.module.js +1 -11
  18. package/dist/lib/cjs/networking.module.js.map +1 -1
  19. package/dist/lib/cjs/responders/http-error.responder.js +108 -0
  20. package/dist/lib/cjs/responders/http-error.responder.js.map +1 -0
  21. package/dist/lib/cjs/router.js +14 -25
  22. package/dist/lib/cjs/router.js.map +1 -1
  23. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  24. package/dist/lib/esm/errors/errors.js +1 -7
  25. package/dist/lib/esm/errors/errors.js.map +1 -1
  26. package/dist/lib/esm/errors/method-router-adding.error.js +8 -13
  27. package/dist/lib/esm/errors/method-router-adding.error.js.map +1 -1
  28. package/dist/lib/esm/errors/networking-error-code.enum.js +13 -0
  29. package/dist/lib/esm/errors/networking-error-code.enum.js.map +1 -0
  30. package/dist/lib/esm/errors/path-router-adding.error.js +8 -12
  31. package/dist/lib/esm/errors/path-router-adding.error.js.map +1 -1
  32. package/dist/lib/esm/errors/path-router-instantiation.error.js +6 -10
  33. package/dist/lib/esm/errors/path-router-instantiation.error.js.map +1 -1
  34. package/dist/lib/esm/errors/request-handling.error.js +5 -9
  35. package/dist/lib/esm/errors/request-handling.error.js.map +1 -1
  36. package/dist/lib/esm/interceptors/interceptors.js +0 -1
  37. package/dist/lib/esm/interceptors/interceptors.js.map +1 -1
  38. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js +5 -5
  39. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js.map +1 -1
  40. package/dist/lib/esm/networking.module.js +1 -11
  41. package/dist/lib/esm/networking.module.js.map +1 -1
  42. package/dist/lib/esm/responders/http-error.responder.js +105 -0
  43. package/dist/lib/esm/responders/http-error.responder.js.map +1 -0
  44. package/dist/lib/esm/router.js +15 -26
  45. package/dist/lib/esm/router.js.map +1 -1
  46. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  47. package/dist/types/errors/errors.d.ts +1 -7
  48. package/dist/types/errors/method-router-adding.error.d.ts +2 -2
  49. package/dist/types/errors/networking-error-code.enum.d.ts +11 -0
  50. package/dist/types/errors/path-router-adding.error.d.ts +2 -2
  51. package/dist/types/errors/path-router-instantiation.error.d.ts +2 -2
  52. package/dist/types/errors/request-handling.error.d.ts +2 -2
  53. package/dist/types/interceptors/interceptors.d.ts +0 -1
  54. package/dist/types/networking.module.d.ts +1 -0
  55. package/dist/types/responders/http-error.responder.d.ts +43 -0
  56. package/dist/types/router.d.ts +3 -1
  57. package/package.json +7 -7
  58. package/dist/lib/cjs/errors/bad-request.http-error.js +0 -20
  59. package/dist/lib/cjs/errors/bad-request.http-error.js.map +0 -1
  60. package/dist/lib/cjs/errors/forbidden.http-error.js +0 -19
  61. package/dist/lib/cjs/errors/forbidden.http-error.js.map +0 -1
  62. package/dist/lib/cjs/errors/http.error.js +0 -25
  63. package/dist/lib/cjs/errors/http.error.js.map +0 -1
  64. package/dist/lib/cjs/errors/invalid-body.http-error.js +0 -19
  65. package/dist/lib/cjs/errors/invalid-body.http-error.js.map +0 -1
  66. package/dist/lib/cjs/errors/not-found.http-error.js +0 -19
  67. package/dist/lib/cjs/errors/not-found.http-error.js.map +0 -1
  68. package/dist/lib/cjs/errors/request-interception-execution.error.js +0 -21
  69. package/dist/lib/cjs/errors/request-interception-execution.error.js.map +0 -1
  70. package/dist/lib/cjs/errors/response-interception-execution.error.js +0 -23
  71. package/dist/lib/cjs/errors/response-interception-execution.error.js.map +0 -1
  72. package/dist/lib/cjs/interceptors/error-response-sanitizer.request-interceptor.js +0 -61
  73. package/dist/lib/cjs/interceptors/error-response-sanitizer.request-interceptor.js.map +0 -1
  74. package/dist/lib/esm/errors/bad-request.http-error.js +0 -16
  75. package/dist/lib/esm/errors/bad-request.http-error.js.map +0 -1
  76. package/dist/lib/esm/errors/forbidden.http-error.js +0 -15
  77. package/dist/lib/esm/errors/forbidden.http-error.js.map +0 -1
  78. package/dist/lib/esm/errors/http.error.js +0 -21
  79. package/dist/lib/esm/errors/http.error.js.map +0 -1
  80. package/dist/lib/esm/errors/invalid-body.http-error.js +0 -15
  81. package/dist/lib/esm/errors/invalid-body.http-error.js.map +0 -1
  82. package/dist/lib/esm/errors/not-found.http-error.js +0 -15
  83. package/dist/lib/esm/errors/not-found.http-error.js.map +0 -1
  84. package/dist/lib/esm/errors/request-interception-execution.error.js +0 -17
  85. package/dist/lib/esm/errors/request-interception-execution.error.js.map +0 -1
  86. package/dist/lib/esm/errors/response-interception-execution.error.js +0 -19
  87. package/dist/lib/esm/errors/response-interception-execution.error.js.map +0 -1
  88. package/dist/lib/esm/interceptors/error-response-sanitizer.request-interceptor.js +0 -58
  89. package/dist/lib/esm/interceptors/error-response-sanitizer.request-interceptor.js.map +0 -1
  90. package/dist/types/errors/bad-request.http-error.d.ts +0 -9
  91. package/dist/types/errors/forbidden.http-error.d.ts +0 -8
  92. package/dist/types/errors/http.error.d.ts +0 -11
  93. package/dist/types/errors/invalid-body.http-error.d.ts +0 -8
  94. package/dist/types/errors/not-found.http-error.d.ts +0 -8
  95. package/dist/types/errors/request-interception-execution.error.d.ts +0 -7
  96. package/dist/types/errors/response-interception-execution.error.d.ts +0 -7
  97. package/dist/types/interceptors/error-response-sanitizer.request-interceptor.d.ts +0 -11
@@ -1,12 +1,6 @@
1
- export * from "./bad-request.http-error";
2
- export * from "./forbidden.http-error";
3
- export * from "./http.error";
4
- export * from "./invalid-body.http-error";
5
1
  export * from "./method-router-adding.error";
6
- export * from "./not-found.http-error";
2
+ export * from "./networking-error-code.enum";
7
3
  export * from "./path-router-adding.error";
8
4
  export * from "./path-router-instantiation.error";
9
5
  export * from "./request-handling.error";
10
- export * from "./request-interception-execution.error";
11
- export * from "./response-interception-execution.error";
12
6
  //# 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;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC"}
@@ -1,21 +1,16 @@
1
- import { LoggableError } from "@pristine-ts/common";
2
- import { MethodRouterNode } from "../nodes/method-router.node";
1
+ import { PristineError } from "@pristine-ts/common";
3
2
  /**
4
3
  * This Error is thrown when there's an error that happens when the networking is being initialized.
5
4
  * It is thrown when trying to add a child node to a MethodRouterNode, since a MethodRouterNode is a leaf it cannot have any children.
6
5
  */
7
- export class MethodRouterAddingError extends LoggableError {
6
+ export class MethodRouterAddingError extends PristineError {
8
7
  constructor(message, splitPaths, method, route, methodRouterNode) {
9
- super(message, {
10
- splitPaths,
11
- method,
12
- route,
13
- methodRouterNode,
14
- });
15
- // Set the prototype explicitly.
16
- // As specified in the documentation in TypeScript
17
- // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
18
- Object.setPrototypeOf(this, MethodRouterNode.prototype);
8
+ super(message, { details: {
9
+ splitPaths,
10
+ method,
11
+ route,
12
+ methodRouterNode,
13
+ } });
19
14
  }
20
15
  }
21
16
  //# sourceMappingURL=method-router-adding.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"method-router-adding.error.js","sourceRoot":"","sources":["../../../../src/errors/method-router-adding.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAExD,YAAmB,OAAe,EAAE,UAAoB,EAAE,MAA2B,EAAE,KAAY,EAAE,gBAAkC;QACrI,KAAK,CAAC,OAAO,EAAE;YACb,UAAU;YACV,MAAM;YACN,KAAK;YACL,gBAAgB;SACjB,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"method-router-adding.error.js","sourceRoot":"","sources":["../../../../src/errors/method-router-adding.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAI9D;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAExD,YAAmB,OAAe,EAAE,UAAoB,EAAE,MAA2B,EAAE,KAAY,EAAE,gBAAkC;QACrI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE;gBACvB,UAAU;gBACV,MAAM;gBACN,KAAK;gBACL,gBAAgB;aACjB,EAAC,CAAC,CAAC;IAAE,CAAC;CACV"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Error-code catalog owned by `@pristine-ts/networking`. Surfaced via
3
+ * `PristineErrorOptions.code` (typed `PristineErrorCode | string`, so any enum value is
4
+ * accepted).
5
+ *
6
+ * Codes here describe HTTP-layer failures specific to the networking module — body
7
+ * parsing/validation, request mapping, etc.
8
+ */
9
+ export var NetworkingErrorCode;
10
+ (function (NetworkingErrorCode) {
11
+ NetworkingErrorCode["InvalidBody"] = "INVALID_BODY";
12
+ })(NetworkingErrorCode || (NetworkingErrorCode = {}));
13
+ //# sourceMappingURL=networking-error-code.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networking-error-code.enum.js","sourceRoot":"","sources":["../../../../src/errors/networking-error-code.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,mDAA4B,CAAA;AAC9B,CAAC,EAFW,mBAAmB,KAAnB,mBAAmB,QAE9B"}
@@ -1,20 +1,16 @@
1
- import { LoggableError } from "@pristine-ts/common";
1
+ import { PristineError } from "@pristine-ts/common";
2
2
  /**
3
3
  * This Error is thrown when there's an error that happens when the networking is being initialized.
4
4
  * It is thrown when an error occurs when trying to add a child node to a PathRouterNode.
5
5
  */
6
- export class PathRouterAddingError extends LoggableError {
6
+ export class PathRouterAddingError extends PristineError {
7
7
  constructor(message, splitPaths, method, route, pathRouterNode) {
8
- super(message, {
9
- splitPaths,
10
- method,
11
- route,
12
- pathRouterNode,
13
- });
14
- // Set the prototype explicitly.
15
- // As specified in the documentation in TypeScript
16
- // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
17
- Object.setPrototypeOf(this, PathRouterAddingError.prototype);
8
+ super(message, { details: {
9
+ splitPaths,
10
+ method,
11
+ route,
12
+ pathRouterNode,
13
+ } });
18
14
  }
19
15
  }
20
16
  //# sourceMappingURL=path-router-adding.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-router-adding.error.js","sourceRoot":"","sources":["../../../../src/errors/path-router-adding.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAI9D;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IAEtD,YAAmB,OAAe,EAAE,UAAoB,EAAE,MAA2B,EAAE,KAAY,EAAE,cAA8B;QACjI,KAAK,CAAC,OAAO,EAAE;YACb,UAAU;YACV,MAAM;YACN,KAAK;YACL,cAAc;SACf,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"path-router-adding.error.js","sourceRoot":"","sources":["../../../../src/errors/path-router-adding.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAI9D;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IAEtD,YAAmB,OAAe,EAAE,UAAoB,EAAE,MAA2B,EAAE,KAAY,EAAE,cAA8B;QACjI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE;gBACvB,UAAU;gBACV,MAAM;gBACN,KAAK;gBACL,cAAc;aACf,EAAC,CAAC,CAAC;IAAE,CAAC;CACV"}
@@ -1,18 +1,14 @@
1
- import { LoggableError } from "@pristine-ts/common";
1
+ import { PristineError } from "@pristine-ts/common";
2
2
  /**
3
3
  * This Error is thrown when there's an error that happens when the networking is being initialized.
4
4
  * It is thrown when an error occurs when trying to instantiate a PathRouterNode.
5
5
  */
6
- export class PathRouterInstantiationError extends LoggableError {
6
+ export class PathRouterInstantiationError extends PristineError {
7
7
  constructor(message, path, parent) {
8
- super(message, {
9
- path,
10
- parent,
11
- });
12
- // Set the prototype explicitly.
13
- // As specified in the documentation in TypeScript
14
- // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
15
- Object.setPrototypeOf(this, PathRouterInstantiationError.prototype);
8
+ super(message, { details: {
9
+ path,
10
+ parent,
11
+ } });
16
12
  }
17
13
  }
18
14
  //# sourceMappingURL=path-router-instantiation.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-router-instantiation.error.js","sourceRoot":"","sources":["../../../../src/errors/path-router-instantiation.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAGlD;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,aAAa;IAE7D,YAAmB,OAAe,EAAE,IAAY,EAAE,MAAuB;QACvE,KAAK,CAAC,OAAO,EAAE;YACb,IAAI;YACJ,MAAM;SACP,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"path-router-instantiation.error.js","sourceRoot":"","sources":["../../../../src/errors/path-router-instantiation.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAGlD;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,aAAa;IAE7D,YAAmB,OAAe,EAAE,IAAY,EAAE,MAAuB;QACvE,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE;gBACvB,IAAI;gBACJ,MAAM;aACP,EAAC,CAAC,CAAC;IAAE,CAAC;CACV"}
@@ -1,16 +1,12 @@
1
- import { LoggableError } from "@pristine-ts/common";
1
+ import { PristineError } from "@pristine-ts/common";
2
2
  /**
3
3
  * This Error is thrown when there's an error that happens while handling a request.
4
4
  */
5
- export class RequestHandlingError extends LoggableError {
5
+ export class RequestHandlingError extends PristineError {
6
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);
7
+ super(message, { details: {
8
+ request,
9
+ } });
14
10
  }
15
11
  }
16
12
  //# sourceMappingURL=request-handling.error.js.map
@@ -1 +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;IAErD,YAAmB,OAAe,EAAE,OAAgB;QAClD,KAAK,CAAC,OAAO,EAAE;YACb,OAAO;SACR,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF"}
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;IAErD,YAAmB,OAAe,EAAE,OAAgB;QAClD,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE;gBACvB,OAAO;aACR,EAAC,CAAC,CAAC;IAAE,CAAC;CACV"}
@@ -2,5 +2,4 @@ export * from "./body-mapping.request-interceptor";
2
2
  export * from "./default-content-type-response-header.interceptor";
3
3
  export * from "./request-body-converter.interceptor";
4
4
  export * from "./response-headers.interceptor";
5
- export * from "./error-response-sanitizer.request-interceptor";
6
5
  //# sourceMappingURL=interceptors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interceptors.js","sourceRoot":"","sources":["../../../../src/interceptors/interceptors.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gDAAgD,CAAC"}
1
+ {"version":3,"file":"interceptors.js","sourceRoot":"","sources":["../../../../src/interceptors/interceptors.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC"}
@@ -21,10 +21,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
21
21
  };
22
22
  import { inject, injectable } from "tsyringe";
23
23
  import { NetworkingConfigurationKeys } from "../networking.configuration-keys";
24
- import { injectConfig, moduleScoped, Request, ServiceDefinitionTagEnum, tag, traced } from "@pristine-ts/common";
24
+ import { BadRequestError, injectConfig, moduleScoped, Request, ServiceDefinitionTagEnum, tag, traced } from "@pristine-ts/common";
25
25
  import { NetworkingModuleKeyname } from "../networking.module.keyname";
26
- import { InvalidBodyHttpError } from "../errors/invalid-body.http-error";
27
26
  import { RequestInterceptorPriorityEnum } from "../enums/request-interceptor-priority.enum";
27
+ import { NetworkingErrorCode } from "../errors/networking-error-code.enum";
28
28
  /**
29
29
  * The Request Body Converter Interceptor intercepts the request and parses the body based on the Content-tTpe header.
30
30
  * It is tagged as a RequestInterceptor so it can be automatically injected with the all the other RequestInterceptor.
@@ -63,7 +63,7 @@ let RequestBodyConverterInterceptor = class RequestBodyConverterInterceptor {
63
63
  if (request.body.constructor === Date) {
64
64
  const errorMessage = "RequestBodyConverterInterceptor: This request has the Content-Type header 'application/json' but the body is a Date object which is invalid JSON.";
65
65
  this.logHandler.error(errorMessage);
66
- throw new InvalidBodyHttpError(errorMessage);
66
+ throw new BadRequestError(errorMessage, { code: NetworkingErrorCode.InvalidBody });
67
67
  }
68
68
  return request;
69
69
  case "string":
@@ -75,13 +75,13 @@ let RequestBodyConverterInterceptor = class RequestBodyConverterInterceptor {
75
75
  catch (e) {
76
76
  const errorMessage = "RequestBodyConverterInterceptor: This request has the Content-Type header 'application/json', and the body is of type string, but the body contains invalid JSON.";
77
77
  this.logHandler.error(errorMessage);
78
- throw new InvalidBodyHttpError(errorMessage);
78
+ throw new BadRequestError(errorMessage, { code: NetworkingErrorCode.InvalidBody });
79
79
  }
80
80
  break;
81
81
  default:
82
82
  const errorMessage = "RequestBodyConverterInterceptor: This request has the Content-Type header 'application/json' but the body contains invalid JSON.";
83
83
  this.logHandler.error(errorMessage);
84
- throw new InvalidBodyHttpError(errorMessage);
84
+ throw new BadRequestError(errorMessage, { code: NetworkingErrorCode.InvalidBody });
85
85
  }
86
86
  }
87
87
  return request;
@@ -1 +1 @@
1
- {"version":3,"file":"request-body-converter.interceptor.js","sourceRoot":"","sources":["../../../../src/interceptors/request-body-converter.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAC,8BAA8B,EAAC,MAAM,4CAA4C,CAAC;AAE1F;;;GAGG;AAII,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAI1C;;;;;OAKG;IACH,YAAoF,QAAkC,EAC3E,UAAgD;QADU,aAAQ,GAAR,QAAQ,CAAS;QAC1D,eAAU,GAAV,UAAU,CAAqB;QAT3F,aAAQ,GAAG,8BAA8B,CAAC,aAAa,CAAC;IAUxD,CAAC;IAED;;;OAGG;IAEG,gBAAgB,CAAC,OAAgB;;YACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,WAAW,GAAW,OAAO,CAAC,SAAS,CAAC,cAAc,CAAW,CAAC;YAExE,QAAQ,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;gBAClC,KAAK,kBAAkB;oBAGrB,QAAQ,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC5B,KAAK,WAAW;4BACd,OAAO,OAAO,CAAC;wBACjB,KAAK,QAAQ;4BACX,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gCACtC,MAAM,YAAY,GAAG,mJAAmJ,CAAC;gCACzK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gCAEpC,MAAM,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;4BAC/C,CAAC;4BACD,OAAO,OAAO,CAAC;wBAEjB,KAAK,QAAQ;4BACX,IAAI,CAAC;gCACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oCACjB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gCAC1C,CAAC;4BACH,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,MAAM,YAAY,GAAG,mKAAmK,CAAC;gCACzL,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gCAEpC,MAAM,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;4BAC/C,CAAC;4BACD,MAAM;wBAER;4BACE,MAAM,YAAY,GAAG,kIAAkI,CAAC;4BACxJ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAEpC,MAAM,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;oBACjD,CAAC;YAGL,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CAEF,CAAA;AArDO;IADL,MAAM,EAAE;;qCACuB,OAAO;;uEAmDtC;AAtEU,+BAA+B;IAH3C,GAAG,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;IAChD,YAAY,CAAC,uBAAuB,CAAC;IACrC,UAAU,EAAE;IAWE,WAAA,YAAY,CAAC,2BAA2B,CAAC,4BAA4B,CAAC,CAAA;IACtE,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;;GAX/B,+BAA+B,CAwE3C"}
1
+ {"version":3,"file":"request-body-converter.interceptor.js","sourceRoot":"","sources":["../../../../src/interceptors/request-body-converter.interceptor.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export * from "./nodes/nodes";
19
19
  export * from "./resolvers/resolvers";
20
20
  export * from "./utils/utils";
21
21
  export * from "./router";
22
+ export * from "./responders/http-error.responder";
22
23
  export * from "./networking.configuration-keys";
23
24
  export const NetworkingModule = {
24
25
  keyname: NetworkingModuleKeyname,
@@ -73,17 +74,6 @@ export const NetworkingModule = {
73
74
  new BooleanResolver(new EnvironmentVariableResolver("PRISTINE_NETWORKING_ROUTER_CACHE_IS_ACTIVE")),
74
75
  ],
75
76
  },
76
- /**
77
- * Activates or deactivates whether the Router Cache is on or off.
78
- */
79
- {
80
- parameterName: NetworkingModuleKeyname + ".error_response_sanitizer.is_active",
81
- isRequired: false,
82
- defaultValue: true,
83
- defaultResolvers: [
84
- new BooleanResolver(new EnvironmentVariableResolver("PRISTINE_NETWORKING_ERROR_RESPONSE_SANITIZER_IS_ACTIVE")),
85
- ],
86
- },
87
77
  ],
88
78
  };
89
79
  //# sourceMappingURL=networking.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"networking.module.js","sourceRoot":"","sources":["../../../src/networking.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAE9B,cAAc,UAAU,CAAC;AAEzB,cAAc,iCAAiC,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,uBAAuB;IAChC,aAAa,EAAE;QACb,aAAa;QACb,cAAc;QACd,eAAe;QACf,iBAAiB;KAClB;IACD,wBAAwB,EAAE;QACxB;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,gCAAgC;YACzE,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,sDAAsD,CAAC,CAAC;aAC7G;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,4CAA4C;YACrF,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,oEAAoE,CAAC,CAAC;aAC3H;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,mCAAmC;YAC5E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,kBAAkB;YAChC,gBAAgB,EAAE;gBAChB,IAAI,2BAA2B,CAAC,0DAA0D,CAAC;aAC5F;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,uBAAuB;YAChE,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,4CAA4C,CAAC,CAAC;aACnG;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,qCAAqC;YAC9E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,wDAAwD,CAAC,CAAC;aAC/G;SACF;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"networking.module.js","sourceRoot":"","sources":["../../../src/networking.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAE9B,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAElD,cAAc,iCAAiC,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,uBAAuB;IAChC,aAAa,EAAE;QACb,aAAa;QACb,cAAc;QACd,eAAe;QACf,iBAAiB;KAClB;IACD,wBAAwB,EAAE;QACxB;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,gCAAgC;YACzE,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,sDAAsD,CAAC,CAAC;aAC7G;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,4CAA4C;YACrF,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,oEAAoE,CAAC,CAAC;aAC3H;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,mCAAmC;YAC5E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,kBAAkB;YAChC,gBAAgB,EAAE;gBAChB,IAAI,2BAA2B,CAAC,0DAA0D,CAAC;aAC5F;SACF;QAED;;WAEG;QACH;YACE,aAAa,EAAE,uBAAuB,GAAG,uBAAuB;YAChE,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,4CAA4C,CAAC,CAAC;aACnG;SACF;KAEF;CACF,CAAA"}
@@ -0,0 +1,105 @@
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
+ import { injectable } from "tsyringe";
11
+ import { PristineError, PristineErrorCode, PristineErrorKind, Response, } from "@pristine-ts/common";
12
+ import { EnvironmentManager, PristineEnvironment } from "@pristine-ts/core";
13
+ /**
14
+ * Converts any thrown value into an HTTP `Response`. Single chokepoint that the Router
15
+ * calls from its `catch` blocks — replaces the inline `if (error instanceof HttpError)`
16
+ * block that used to leak stack traces by default.
17
+ *
18
+ * **Production mode (default)**: sanitized output. `SystemError`s render as
19
+ * `{code: "INTERNAL_ERROR", message: "Internal Server Error"}` with no stack, no cause,
20
+ * no internal message. `UserError`s (validation, auth, etc.) surface their code, message,
21
+ * and `details` — those are safe by definition.
22
+ *
23
+ * **Development mode** (`pristine.environment = dev`, env override `PRISTINE_ENV=dev`):
24
+ * everything is included — message, stack, cause chain, structured details. Useful when
25
+ * debugging locally; never appropriate for a deployed instance.
26
+ *
27
+ * Anything that's not already a `PristineError` is normalized via `PristineError.from`,
28
+ * which marks it `kind: PristineErrorKind.SystemError` and propagates the original via
29
+ * the `cause` chain.
30
+ *
31
+ * The environment comes from `EnvironmentManager` — injected, not read from `process.env`
32
+ * directly — so the value flows through the normal configuration graph and can be
33
+ * overridden via `pristine.config.ts` like every other framework setting.
34
+ *
35
+ * **`request` is not set on the returned Response** — the responder doesn't know which
36
+ * inbound request triggered the error. The router assigns `response.request` itself
37
+ * after calling `respond()`.
38
+ */
39
+ let HttpErrorResponder = class HttpErrorResponder {
40
+ constructor(environmentManager) {
41
+ this.environmentManager = environmentManager;
42
+ }
43
+ /**
44
+ * Turns any thrown value into a `Response` with status and body populated. The caller
45
+ * assigns `response.request` and layers any error-response interceptors on top.
46
+ */
47
+ respond(error) {
48
+ var _a, _b;
49
+ const e = PristineError.from(error);
50
+ const isDev = this.environmentManager.getEnvironment() === PristineEnvironment.Development;
51
+ const isUserError = e.options.kind !== PristineErrorKind.SystemError;
52
+ const status = (_a = e.options.httpStatus) !== null && _a !== void 0 ? _a : 500;
53
+ const code = (_b = e.options.code) !== null && _b !== void 0 ? _b : PristineErrorCode.InternalError;
54
+ // User errors: caller wrote them, message is meant for the user. Surface verbatim.
55
+ // System errors in production: replace with a generic message so internal bugs
56
+ // never leak details to API consumers.
57
+ const messageForUser = isUserError
58
+ ? e.message
59
+ : (isDev ? e.message : (status === 500 ? "Internal Server Error" : "Error"));
60
+ const body = { code, message: messageForUser };
61
+ // `details` is only safe to expose for user errors — it's per-error-class structured
62
+ // data that the throwing code explicitly chose to surface. In dev mode we expose it
63
+ // even for system errors (helps debugging).
64
+ if (e.options.details && (isUserError || isDev)) {
65
+ body.details = e.options.details;
66
+ }
67
+ // Dev-only fields. The cause chain is walked to whatever depth exists, so a nested
68
+ // wrapper like `PristineError → BadRequestError → original ValidationError` shows
69
+ // every level.
70
+ if (isDev) {
71
+ body.debugMessage = e.message;
72
+ if (e.stack)
73
+ body.stack = e.stack;
74
+ const causeChain = this.collectCauseChain(e);
75
+ if (causeChain.length > 0)
76
+ body.cause = causeChain;
77
+ }
78
+ const response = new Response();
79
+ response.status = status;
80
+ response.body = body;
81
+ return response;
82
+ }
83
+ /**
84
+ * Walks the standard `Error.cause` chain (Node 16.9+ native) and produces a JSON-safe
85
+ * representation. Used in dev mode to surface the full error history without forcing
86
+ * the response object to carry live Error instances.
87
+ */
88
+ collectCauseChain(error) {
89
+ const chain = [];
90
+ let current = error.cause;
91
+ let depth = 0;
92
+ while (current instanceof Error && depth < 10) {
93
+ chain.push({ name: current.name, message: current.message, stack: current.stack });
94
+ current = current.cause;
95
+ depth++;
96
+ }
97
+ return chain;
98
+ }
99
+ };
100
+ HttpErrorResponder = __decorate([
101
+ injectable(),
102
+ __metadata("design:paramtypes", [EnvironmentManager])
103
+ ], HttpErrorResponder);
104
+ export { HttpErrorResponder };
105
+ //# sourceMappingURL=http-error.responder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-error.responder.js","sourceRoot":"","sources":["../../../../src/responders/http-error.responder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAEzD,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAc;;QACpB,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,mBAAmB,CAAC,WAAW,CAAC;QAC3F,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAAC,WAAW,CAAC;QAErE,MAAM,MAAM,GAAG,MAAA,CAAC,CAAC,OAAO,CAAC,UAAU,mCAAI,GAAG,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAA,CAAC,CAAC,OAAO,CAAC,IAAI,mCAAI,iBAAiB,CAAC,aAAa,CAAC;QAE/D,mFAAmF;QACnF,+EAA+E;QAC/E,uCAAuC;QACvC,MAAM,cAAc,GAAG,WAAW;YAChC,CAAC,CAAC,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAE/E,MAAM,IAAI,GAA4B,EAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAC,CAAC;QAEtE,qFAAqF;QACrF,oFAAoF;QACpF,4CAA4C;QAC5C,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACnC,CAAC;QAED,mFAAmF;QACnF,kFAAkF;QAClF,eAAe;QACf,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,KAAY;QACpC,MAAM,KAAK,GAA2D,EAAE,CAAC;QACzE,IAAI,OAAO,GAAa,KAAe,CAAC,KAAK,CAAC;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,OAAO,YAAY,KAAK,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC;YACjF,OAAO,GAAI,OAAiB,CAAC,KAAK,CAAC;YACnC,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAlEY,kBAAkB;IAD9B,UAAU,EAAE;qCAG4B,kBAAkB;GAF9C,kBAAkB,CAkE9B"}
@@ -22,22 +22,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  import "reflect-metadata";
23
23
  import { inject, singleton } from "tsyringe";
24
24
  import { UrlUtil } from "./utils/url.util";
25
- import { NotFoundHttpError } from "./errors/not-found.http-error";
26
25
  import { PathRouterNode } from "./nodes/path-router.node";
27
26
  import { Route } from "./models/route";
28
27
  import { MethodRouterNode } from "./nodes/method-router.node";
29
- import { ForbiddenHttpError } from "./errors/forbidden.http-error";
30
28
  import { ControllerMethodParameterDecoratorResolver } from "./resolvers/controller-method-parameter-decorator.resolver";
31
- import { MetadataEnum, MetadataUtil, Response, ServiceDefinitionTagEnum, tag, } from "@pristine-ts/common";
29
+ import { ForbiddenError, MetadataEnum, MetadataUtil, NotFoundError, Response, ServiceDefinitionTagEnum, tag, } from "@pristine-ts/common";
32
30
  import { SpanKeynameEnum } from "@pristine-ts/telemetry";
33
31
  import { controllerRegistry } from "./decorators/controller.decorator";
34
32
  import { mergeWith } from "lodash";
35
- import { HttpError } from "./errors/http.error";
36
33
  import { RouterCache } from "./cache/router.cache";
37
34
  import { ClassMetadata, MethodMetadata } from "@pristine-ts/metadata";
38
35
  import { RequestInterceptorPriorityEnum } from "./enums/request-interceptor-priority.enum";
39
36
  import { RequestContext } from "./contexts/request-context";
40
37
  import { RequestContextManager } from "./managers/request-context.manager";
38
+ import { HttpErrorResponder } from "./responders/http-error.responder";
41
39
  /**
42
40
  * The router service is the service that creates the routing tree from the controllers.
43
41
  * It also executes a request properly by routing it to the intended controller and returns the response.
@@ -52,13 +50,14 @@ let Router = class Router {
52
50
  * @param authorizerManager The authorizer manager to validate authorization.
53
51
  * @param authenticationManager The authentication manager to validate authentication.
54
52
  */
55
- constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager, cache, requestContextManager) {
53
+ constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager, cache, requestContextManager, httpErrorResponder) {
56
54
  this.loghandler = loghandler;
57
55
  this.controllerMethodParameterDecoratorResolver = controllerMethodParameterDecoratorResolver;
58
56
  this.authorizerManager = authorizerManager;
59
57
  this.authenticationManager = authenticationManager;
60
58
  this.cache = cache;
61
59
  this.requestContextManager = requestContextManager;
60
+ this.httpErrorResponder = httpErrorResponder;
62
61
  this.root = new PathRouterNode("/");
63
62
  // This property is used to track whether the router has been already been properly instantiated or not.
64
63
  this.setupCompleted = false;
@@ -190,7 +189,7 @@ let Router = class Router {
190
189
  },
191
190
  });
192
191
  routerRequestExecutionSpan.end();
193
- return resolve(this.executeErrorResponseInterceptors(new NotFoundHttpError("No route found for method: '" + request.httpMethod + "' and path: '" + url.pathname + "'."), request, container));
192
+ return resolve(this.executeErrorResponseInterceptors(new NotFoundError("No route found for method: '" + request.httpMethod + "' and path: '" + url.pathname + "'."), request, container));
194
193
  }
195
194
  // Get the route parameters
196
195
  const routeParameters = (_a = cachedRouterRoute === null || cachedRouterRoute === void 0 ? void 0 : cachedRouterRoute.routeParameters) !== null && _a !== void 0 ? _a : methodNode.parent.getRouteParameters(splitPath.slice().reverse());
@@ -258,8 +257,8 @@ let Router = class Router {
258
257
  },
259
258
  });
260
259
  // Todo: check if the error is an UnauthorizedHttpError, else create one.
261
- if (error instanceof ForbiddenHttpError === false) {
262
- error = new ForbiddenHttpError("You are not allowed to access this.");
260
+ if (error instanceof ForbiddenError === false) {
261
+ error = new ForbiddenError("You are not allowed to access this.");
263
262
  }
264
263
  routerRequestExecutionSpan.end();
265
264
  return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
@@ -275,7 +274,7 @@ let Router = class Router {
275
274
  identity
276
275
  });
277
276
  routerRequestExecutionSpan.end();
278
- return resolve(this.executeErrorResponseInterceptors(new ForbiddenHttpError("You are not allowed to access this."), request, container, methodNode));
277
+ return resolve(this.executeErrorResponseInterceptors(new ForbiddenError("You are not allowed to access this."), request, container, methodNode));
279
278
  }
280
279
  // Execute all the interceptors
281
280
  const requestInterceptorsSpan = tracingManager.startSpan(SpanKeynameEnum.RequestInterceptors, SpanKeynameEnum.RouterRequestExecution);
@@ -565,22 +564,11 @@ let Router = class Router {
565
564
  request,
566
565
  methodNode,
567
566
  });
568
- // Execute all the request interceptors
569
- let interceptedResponse = new Response();
570
- if (error instanceof HttpError) {
571
- interceptedResponse.status = error.httpStatus;
572
- interceptedResponse.body = {
573
- name: error.name,
574
- message: error.message,
575
- stack: error.stack,
576
- errors: error.errors,
577
- extra: error.extra,
578
- };
579
- }
580
- else {
581
- interceptedResponse.status = 500;
582
- interceptedResponse.body = { name: error.name, message: error.message, stack: error.stack };
583
- }
567
+ // Single chokepoint for "thrown value → HTTP response". Production mode (default)
568
+ // sanitizes internal errors and never leaks stacks; development mode surfaces
569
+ // everything. See `HttpErrorResponder` for the contract. The responder doesn't know
570
+ // about the inbound request — we set it here before any interceptor sees the response.
571
+ let interceptedResponse = this.httpErrorResponder.respond(error);
584
572
  interceptedResponse.request = request;
585
573
  // Check first if there are any Request interceptors
586
574
  if (container.isRegistered(ServiceDefinitionTagEnum.RequestInterceptor, true)) {
@@ -646,7 +634,8 @@ Router = __decorate([
646
634
  __param(2, inject("AuthorizerManagerInterface")),
647
635
  __param(3, inject("AuthenticationManagerInterface")),
648
636
  __metadata("design:paramtypes", [Object, ControllerMethodParameterDecoratorResolver, Object, Object, RouterCache,
649
- RequestContextManager])
637
+ RequestContextManager,
638
+ HttpErrorResponder])
650
639
  ], Router);
651
640
  export { Router };
652
641
  //# 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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"}