1
1
import type { JSONValue } from '@aws-lambda-powertools/commons/types' ;
2
2
import type { HandlerResponse , HttpStatusCode } from '../types/rest.js' ;
3
- import { HttpErrorCodes } from './constants.js' ;
3
+ import { HttpStatusCodes } from './constants.js' ;
4
4
5
- export class RouteMatchingError extends Error {
5
+ class RouteMatchingError extends Error {
6
6
constructor (
7
7
message : string ,
8
8
public readonly path : string ,
@@ -13,14 +13,14 @@ export class RouteMatchingError extends Error {
13
13
}
14
14
}
15
15
16
- export class ParameterValidationError extends RouteMatchingError {
16
+ class ParameterValidationError extends RouteMatchingError {
17
17
constructor ( public readonly issues : string [ ] ) {
18
18
super ( `Parameter validation failed: ${ issues . join ( ', ' ) } ` , '' , '' ) ;
19
19
this . name = 'ParameterValidationError' ;
20
20
}
21
21
}
22
22
23
- export abstract class ServiceError extends Error {
23
+ abstract class ServiceError extends Error {
24
24
abstract readonly statusCode : HttpStatusCode ;
25
25
abstract readonly errorType : string ;
26
26
public readonly details ?: Record < string , unknown > ;
@@ -47,8 +47,8 @@ export abstract class ServiceError extends Error {
47
47
}
48
48
}
49
49
50
- export class BadRequestError extends ServiceError {
51
- readonly statusCode = HttpErrorCodes . BAD_REQUEST ;
50
+ class BadRequestError extends ServiceError {
51
+ readonly statusCode = HttpStatusCodes . BAD_REQUEST ;
52
52
readonly errorType = 'BadRequestError' ;
53
53
54
54
constructor (
@@ -57,11 +57,12 @@ export class BadRequestError extends ServiceError {
57
57
details ?: Record < string , unknown >
58
58
) {
59
59
super ( message , options , details ) ;
60
+ this . name = 'BadRequestError' ;
60
61
}
61
62
}
62
63
63
- export class UnauthorizedError extends ServiceError {
64
- readonly statusCode = HttpErrorCodes . UNAUTHORIZED ;
64
+ class UnauthorizedError extends ServiceError {
65
+ readonly statusCode = HttpStatusCodes . UNAUTHORIZED ;
65
66
readonly errorType = 'UnauthorizedError' ;
66
67
67
68
constructor (
@@ -70,11 +71,12 @@ export class UnauthorizedError extends ServiceError {
70
71
details ?: Record < string , unknown >
71
72
) {
72
73
super ( message , options , details ) ;
74
+ this . name = 'UnauthorizedError' ;
73
75
}
74
76
}
75
77
76
- export class ForbiddenError extends ServiceError {
77
- readonly statusCode = HttpErrorCodes . FORBIDDEN ;
78
+ class ForbiddenError extends ServiceError {
79
+ readonly statusCode = HttpStatusCodes . FORBIDDEN ;
78
80
readonly errorType = 'ForbiddenError' ;
79
81
80
82
constructor (
@@ -83,11 +85,12 @@ export class ForbiddenError extends ServiceError {
83
85
details ?: Record < string , unknown >
84
86
) {
85
87
super ( message , options , details ) ;
88
+ this . name = 'ForbiddenError' ;
86
89
}
87
90
}
88
91
89
- export class NotFoundError extends ServiceError {
90
- readonly statusCode = HttpErrorCodes . NOT_FOUND ;
92
+ class NotFoundError extends ServiceError {
93
+ readonly statusCode = HttpStatusCodes . NOT_FOUND ;
91
94
readonly errorType = 'NotFoundError' ;
92
95
93
96
constructor (
@@ -96,11 +99,12 @@ export class NotFoundError extends ServiceError {
96
99
details ?: Record < string , unknown >
97
100
) {
98
101
super ( message , options , details ) ;
102
+ this . name = 'NotFoundError' ;
99
103
}
100
104
}
101
105
102
- export class MethodNotAllowedError extends ServiceError {
103
- readonly statusCode = HttpErrorCodes . METHOD_NOT_ALLOWED ;
106
+ class MethodNotAllowedError extends ServiceError {
107
+ readonly statusCode = HttpStatusCodes . METHOD_NOT_ALLOWED ;
104
108
readonly errorType = 'MethodNotAllowedError' ;
105
109
106
110
constructor (
@@ -109,11 +113,12 @@ export class MethodNotAllowedError extends ServiceError {
109
113
details ?: Record < string , unknown >
110
114
) {
111
115
super ( message , options , details ) ;
116
+ this . name = 'MethodNotAllowedError' ;
112
117
}
113
118
}
114
119
115
- export class RequestTimeoutError extends ServiceError {
116
- readonly statusCode = HttpErrorCodes . REQUEST_TIMEOUT ;
120
+ class RequestTimeoutError extends ServiceError {
121
+ readonly statusCode = HttpStatusCodes . REQUEST_TIMEOUT ;
117
122
readonly errorType = 'RequestTimeoutError' ;
118
123
119
124
constructor (
@@ -122,11 +127,12 @@ export class RequestTimeoutError extends ServiceError {
122
127
details ?: Record < string , unknown >
123
128
) {
124
129
super ( message , options , details ) ;
130
+ this . name = 'RequestTimeoutError' ;
125
131
}
126
132
}
127
133
128
- export class RequestEntityTooLargeError extends ServiceError {
129
- readonly statusCode = HttpErrorCodes . REQUEST_ENTITY_TOO_LARGE ;
134
+ class RequestEntityTooLargeError extends ServiceError {
135
+ readonly statusCode = HttpStatusCodes . REQUEST_ENTITY_TOO_LARGE ;
130
136
readonly errorType = 'RequestEntityTooLargeError' ;
131
137
132
138
constructor (
@@ -135,11 +141,12 @@ export class RequestEntityTooLargeError extends ServiceError {
135
141
details ?: Record < string , unknown >
136
142
) {
137
143
super ( message , options , details ) ;
144
+ this . name = 'RequestEntityTooLargeError' ;
138
145
}
139
146
}
140
147
141
- export class InternalServerError extends ServiceError {
142
- readonly statusCode = HttpErrorCodes . INTERNAL_SERVER_ERROR ;
148
+ class InternalServerError extends ServiceError {
149
+ readonly statusCode = HttpStatusCodes . INTERNAL_SERVER_ERROR ;
143
150
readonly errorType = 'InternalServerError' ;
144
151
145
152
constructor (
@@ -148,11 +155,12 @@ export class InternalServerError extends ServiceError {
148
155
details ?: Record < string , unknown >
149
156
) {
150
157
super ( message , options , details ) ;
158
+ this . name = 'InternalServerError' ;
151
159
}
152
160
}
153
161
154
- export class ServiceUnavailableError extends ServiceError {
155
- readonly statusCode = HttpErrorCodes . SERVICE_UNAVAILABLE ;
162
+ class ServiceUnavailableError extends ServiceError {
163
+ readonly statusCode = HttpStatusCodes . SERVICE_UNAVAILABLE ;
156
164
readonly errorType = 'ServiceUnavailableError' ;
157
165
158
166
constructor (
@@ -161,5 +169,21 @@ export class ServiceUnavailableError extends ServiceError {
161
169
details ?: Record < string , unknown >
162
170
) {
163
171
super ( message , options , details ) ;
172
+ this . name = 'ServiceUnavailableError' ;
164
173
}
165
174
}
175
+
176
+ export {
177
+ BadRequestError ,
178
+ ForbiddenError ,
179
+ InternalServerError ,
180
+ MethodNotAllowedError ,
181
+ NotFoundError ,
182
+ ParameterValidationError ,
183
+ RequestEntityTooLargeError ,
184
+ RequestTimeoutError ,
185
+ RouteMatchingError ,
186
+ ServiceError ,
187
+ ServiceUnavailableError ,
188
+ UnauthorizedError ,
189
+ } ;
0 commit comments