@tc-libs/error-handler 5.1.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@tc-libs/error-handler",
3
- "version": "5.1.0",
3
+ "version": "5.2.1",
4
4
  "dependencies": {
5
- "@tc-libs/debugger": "5.1.0",
6
- "@tc-libs/error-interface": "5.1.0",
7
- "@tc-libs/errors": "5.1.0",
8
- "@tc-libs/helper": "5.1.0",
9
- "@tc-libs/message": "5.1.0",
10
- "@tc-libs/request": "5.1.0",
11
- "@tc-libs/response": "5.1.0",
5
+ "@tc-libs/debugger": "5.2.1",
6
+ "@tc-libs/error-interface": "5.2.1",
7
+ "@tc-libs/errors": "5.2.1",
8
+ "@tc-libs/helper": "5.2.1",
9
+ "@tc-libs/message": "5.2.1",
10
+ "@tc-libs/request": "5.2.1",
11
+ "@tc-libs/response": "5.2.1",
12
12
  "express": "5.0.1",
13
13
  "tslib": "^2.8.1",
14
14
  "uuid": "^11.1.0"
@@ -13,4 +13,7 @@ export declare class ErrorHttpFilter implements ExceptionFilter {
13
13
  constructor(_options: ErrorHandlerModuleOptions, debuggerService: DebuggerService, messageService: MessageService, helperDateService: DateService);
14
14
  catch(exception: unknown, host: ArgumentsHost): Promise<void>;
15
15
  isErrorException(obj: any): obj is IErrorException;
16
+ isExposedClientError(obj: any): obj is {
17
+ status: number;
18
+ };
16
19
  }
@@ -89,14 +89,37 @@ let ErrorHttpFilter = ErrorHttpFilter_1 = class ErrorHttpFilter {
89
89
  }
90
90
  }
91
91
  }
92
- else if (exception instanceof common_1.NotFoundException) {
93
- hasToLog = false;
92
+ else {
93
+ // HttpException di Nest (404 del router, 429 del throttler, 400 del JSON malformato, ecc.)
94
+ // ed errori 4xx di body-parser (es. 413): il loro status; il resto resta 500
95
+ if (exception instanceof common_1.HttpException) {
96
+ // solo status di errore validi: uno status anomalo farebbe fallire res.status()
97
+ const status = exception.getStatus();
98
+ if (Number.isInteger(status) && status >= 400 && status < 600) {
99
+ statusHttp = status;
100
+ }
101
+ }
102
+ else if (this.isExposedClientError(exception)) {
103
+ statusHttp = exception.status;
104
+ }
105
+ // al debugger solo gli errori del server
106
+ hasToLog = statusHttp >= common_1.HttpStatus.INTERNAL_SERVER_ERROR;
94
107
  }
108
+ // SEC-33: errori del server che non sono ApiError (es. E11000 con i valori duplicati, messaggi di Mongoose):
109
+ // al client una descrizione generica, il messaggio vero resta al debugger
110
+ const responseDescription = !(exception instanceof errors_1.ApiError) &&
111
+ statusHttp >= common_1.HttpStatus.INTERNAL_SERVER_ERROR
112
+ ? 'Internal server error'
113
+ : description;
95
114
  const responseBody = {
96
115
  errors,
97
116
  _error,
98
117
  _metadata: metadata,
99
- data: { description, ...data },
118
+ // BUG-42: si spalmano solo gli oggetti, una stringa o un array finirebbero in data come chiavi "0", "1", ...
119
+ data: {
120
+ description: responseDescription,
121
+ ...(typeof data === 'object' && !Array.isArray(data) ? data : {}),
122
+ },
100
123
  message: messagePath,
101
124
  };
102
125
  // Debugger
@@ -129,6 +152,15 @@ let ErrorHttpFilter = ErrorHttpFilter_1 = class ErrorHttpFilter {
129
152
  ? 'statusCode' in obj && 'message' in obj
130
153
  : false;
131
154
  }
155
+ // Errori di http-errors (body-parser, raw-body): status 4xx con expose a true
156
+ isExposedClientError(obj) {
157
+ return (typeof obj === 'object' &&
158
+ obj !== null &&
159
+ obj.expose === true &&
160
+ Number.isInteger(obj.status) &&
161
+ obj.status >= 400 &&
162
+ obj.status < 500);
163
+ }
132
164
  };
133
165
  exports.ErrorHttpFilter = ErrorHttpFilter;
134
166
  exports.ErrorHttpFilter = ErrorHttpFilter = ErrorHttpFilter_1 = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"error.http.filter.js","sourceRoot":"","sources":["../../../../../packages/error-handler/src/filters/error.http.filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.http.filter.js","sourceRoot":"","sources":["../../../../../packages/error-handler/src/filters/error.http.filter.ts"],"names":[],"mappings":"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"}