eh-commons 0.0.1-testing.64 → 0.0.1-testing.66
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.
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ArgumentsHost, ExceptionFilter } from '@nestjs/common';
|
|
2
2
|
export declare class BaseExceptionsFilter implements ExceptionFilter {
|
|
3
3
|
private _debug;
|
|
4
|
-
|
|
4
|
+
private _log;
|
|
5
|
+
constructor(debug: boolean, log?: boolean);
|
|
5
6
|
catch(exception: any, host: ArgumentsHost): void;
|
|
7
|
+
private filterException;
|
|
6
8
|
}
|
|
@@ -4,10 +4,14 @@ exports.BaseExceptionsFilter = void 0;
|
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const custom_exception_1 = require("../exceptions/custom.exception");
|
|
6
6
|
const rest_wrapper_class_1 = require("../models/wrappers/rest-wrapper.class");
|
|
7
|
+
const mongoose_1 = require("mongoose");
|
|
8
|
+
const class_validator_1 = require("class-validator");
|
|
7
9
|
class BaseExceptionsFilter {
|
|
8
|
-
constructor(debug) {
|
|
10
|
+
constructor(debug, log) {
|
|
9
11
|
this._debug = false;
|
|
12
|
+
this._log = false;
|
|
10
13
|
this._debug = debug;
|
|
14
|
+
this._log = log;
|
|
11
15
|
}
|
|
12
16
|
catch(exception, host) {
|
|
13
17
|
const context = host.switchToHttp();
|
|
@@ -15,98 +19,136 @@ class BaseExceptionsFilter {
|
|
|
15
19
|
if (this._debug) {
|
|
16
20
|
console.log('BaseExceptionsFilter - name:', exception.constructor.name);
|
|
17
21
|
}
|
|
22
|
+
if (this._log) {
|
|
23
|
+
console.log(exception.stack | exception.message);
|
|
24
|
+
}
|
|
18
25
|
let handledException = null;
|
|
26
|
+
const { restErrors, statusCode } = this.filterException(exception);
|
|
27
|
+
handledException = new custom_exception_1.HandledException(restErrors, statusCode);
|
|
28
|
+
handledException.send(response);
|
|
29
|
+
}
|
|
30
|
+
filterException(exception) {
|
|
31
|
+
const restErrors = [];
|
|
32
|
+
let statusCode = null;
|
|
19
33
|
try {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
34
|
+
if (exception instanceof custom_exception_1.HandledException) {
|
|
35
|
+
}
|
|
36
|
+
else if (exception instanceof rest_wrapper_class_1.RESTError) {
|
|
37
|
+
restErrors.push(exception);
|
|
38
|
+
statusCode = exception.statusCode | common_1.HttpStatus.BAD_REQUEST;
|
|
39
|
+
}
|
|
40
|
+
else if (exception instanceof Array) {
|
|
41
|
+
exception.forEach((item) => {
|
|
42
|
+
restErrors.push(...this.filterException(item).restErrors);
|
|
43
|
+
});
|
|
44
|
+
statusCode = common_1.HttpStatus.BAD_REQUEST;
|
|
45
|
+
}
|
|
46
|
+
else if (exception instanceof common_1.BadRequestException) {
|
|
47
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('BadRequestException'));
|
|
48
|
+
statusCode = common_1.HttpStatus.BAD_REQUEST;
|
|
49
|
+
}
|
|
50
|
+
else if (exception instanceof common_1.UnauthorizedException) {
|
|
51
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('UnauthorizedException'));
|
|
52
|
+
statusCode = common_1.HttpStatus.UNAUTHORIZED;
|
|
53
|
+
}
|
|
54
|
+
else if (exception instanceof common_1.NotFoundException) {
|
|
55
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('METHOD_NOT_FOUND', exception.message));
|
|
56
|
+
statusCode = common_1.HttpStatus.METHOD_NOT_ALLOWED;
|
|
57
|
+
}
|
|
58
|
+
else if (exception instanceof common_1.ForbiddenException) {
|
|
59
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('INVALID_API_TOKEN', 'invalid X-API-TOKEN received in headers'));
|
|
60
|
+
statusCode = common_1.HttpStatus.FORBIDDEN;
|
|
61
|
+
}
|
|
62
|
+
else if (exception instanceof common_1.NotAcceptableException) {
|
|
63
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('NotAcceptableException'));
|
|
64
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
65
|
+
}
|
|
66
|
+
else if (exception instanceof common_1.RequestTimeoutException) {
|
|
67
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('RequestTimeoutException'));
|
|
68
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
69
|
+
}
|
|
70
|
+
else if (exception instanceof common_1.ConflictException) {
|
|
71
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('ConflictException'));
|
|
72
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
73
|
+
}
|
|
74
|
+
else if (exception instanceof common_1.GoneException) {
|
|
75
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('GoneException'));
|
|
76
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
77
|
+
}
|
|
78
|
+
else if (exception instanceof common_1.HttpVersionNotSupportedException) {
|
|
79
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('HttpVersionNotSupportedException'));
|
|
80
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
81
|
+
}
|
|
82
|
+
else if (exception instanceof common_1.PayloadTooLargeException) {
|
|
83
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('PayloadTooLargeException'));
|
|
84
|
+
statusCode = common_1.HttpStatus.PAYLOAD_TOO_LARGE;
|
|
85
|
+
}
|
|
86
|
+
else if (exception instanceof common_1.UnsupportedMediaTypeException) {
|
|
87
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('UnsupportedMediaTypeException'));
|
|
88
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
89
|
+
}
|
|
90
|
+
else if (exception instanceof common_1.UnprocessableEntityException) {
|
|
91
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('UnprocessableEntityException'));
|
|
92
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
93
|
+
}
|
|
94
|
+
else if (exception instanceof common_1.InternalServerErrorException) {
|
|
95
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('InternalServerErrorException'));
|
|
96
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
97
|
+
}
|
|
98
|
+
else if (exception instanceof common_1.NotImplementedException) {
|
|
99
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('NotImplementedException'));
|
|
100
|
+
statusCode = common_1.HttpStatus.NOT_IMPLEMENTED;
|
|
101
|
+
}
|
|
102
|
+
else if (exception instanceof common_1.ImATeapotException) {
|
|
103
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('ImATeapotException'));
|
|
104
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
105
|
+
}
|
|
106
|
+
else if (exception instanceof common_1.MethodNotAllowedException) {
|
|
107
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('MethodNotAllowedException'));
|
|
108
|
+
statusCode = common_1.HttpStatus.METHOD_NOT_ALLOWED;
|
|
109
|
+
}
|
|
110
|
+
else if (exception instanceof common_1.BadGatewayException) {
|
|
111
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('BadGatewayException'));
|
|
112
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
113
|
+
}
|
|
114
|
+
else if (exception instanceof common_1.ServiceUnavailableException) {
|
|
115
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('ServiceUnavailableException'));
|
|
116
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
117
|
+
}
|
|
118
|
+
else if (exception instanceof common_1.GatewayTimeoutException) {
|
|
119
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('GatewayTimeoutException'));
|
|
120
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
121
|
+
}
|
|
122
|
+
else if (exception instanceof common_1.PreconditionFailedException) {
|
|
123
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('PreconditionFailedException'));
|
|
124
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
125
|
+
}
|
|
126
|
+
else if (exception instanceof TypeError) {
|
|
127
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('TYPE_ERROR', exception.message));
|
|
128
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
129
|
+
}
|
|
130
|
+
else if (exception instanceof mongoose_1.mongo.MongoError) {
|
|
131
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('MONGO_ERROR', exception.message));
|
|
132
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
133
|
+
}
|
|
134
|
+
else if (exception instanceof class_validator_1.ValidationError) {
|
|
135
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('VALIDATION_ERROR', exception));
|
|
136
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
137
|
+
}
|
|
138
|
+
else if (exception instanceof mongoose_1.mongo.MongoServerError) {
|
|
139
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('MONGO_SERVER_ERROR', exception.message));
|
|
140
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('UNKNOWN_EXCEPTION', exception.message));
|
|
144
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
104
145
|
}
|
|
105
146
|
}
|
|
106
147
|
catch (ex) {
|
|
107
|
-
|
|
148
|
+
restErrors.push(new rest_wrapper_class_1.RESTError('FILTER_EXCEPTION', ex));
|
|
149
|
+
statusCode = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
108
150
|
}
|
|
109
|
-
|
|
151
|
+
return { restErrors, statusCode };
|
|
110
152
|
}
|
|
111
153
|
}
|
|
112
154
|
exports.BaseExceptionsFilter = BaseExceptionsFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-exception.filter.js","sourceRoot":"","sources":["../../src/filters/base-exception.filter.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"base-exception.filter.js","sourceRoot":"","sources":["../../src/filters/base-exception.filter.ts"],"names":[],"mappings":"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"}
|