sleepy-serv 0.6.2 → 0.7.0

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,13 +1,22 @@
1
+ import { StatusCode } from './utils'
2
+
3
+ import type { FormattedError } from './utils'
4
+
5
+ export type ErrorOutput =
6
+ | { message: string }
7
+ | FormattedError[]
8
+ | null
9
+
1
10
  export class RequestError extends Error {
2
- static get status () {
11
+ static get status (): StatusCode {
3
12
  throw new Error('Unimplemented')
4
13
  }
5
14
 
6
- get output () {
15
+ get output (): ErrorOutput {
7
16
  return this.message ? { message: this.message } : null
8
17
  }
9
18
 
10
- constructor (message) {
19
+ constructor (message: string) {
11
20
  super(message)
12
21
 
13
22
  this.name = 'RequestError'
@@ -17,9 +26,11 @@ export class RequestError extends Error {
17
26
  // 4xx - Client Errors
18
27
 
19
28
  export class BadRequestError extends RequestError {
20
- static get status () { return 400 }
29
+ static get status (): StatusCode {
30
+ return StatusCode.BadRequest
31
+ }
21
32
 
22
- constructor (message) {
33
+ constructor (message: string) {
23
34
  super(message)
24
35
 
25
36
  this.name = 'BadRequestError'
@@ -27,9 +38,11 @@ export class BadRequestError extends RequestError {
27
38
  }
28
39
 
29
40
  export class UnauthorizedError extends RequestError {
30
- static get status () { return 401 }
41
+ static get status (): StatusCode {
42
+ return StatusCode.Unauthorized
43
+ }
31
44
 
32
- constructor (message) {
45
+ constructor (message: string) {
33
46
  super(message)
34
47
 
35
48
  this.name = 'UnauthorizedError'
@@ -37,9 +50,11 @@ export class UnauthorizedError extends RequestError {
37
50
  }
38
51
 
39
52
  export class PaymentRequiredError extends RequestError {
40
- static get status () { return 402 }
53
+ static get status (): StatusCode {
54
+ return StatusCode.PaymentRequired
55
+ }
41
56
 
42
- constructor (message) {
57
+ constructor (message: string) {
43
58
  super(message)
44
59
 
45
60
  this.name = 'PaymentRequiredError'
@@ -47,9 +62,11 @@ export class PaymentRequiredError extends RequestError {
47
62
  }
48
63
 
49
64
  export class ForbiddenError extends RequestError {
50
- static get status () { return 403 }
65
+ static get status (): StatusCode {
66
+ return StatusCode.Forbidden
67
+ }
51
68
 
52
- constructor (message) {
69
+ constructor (message: string) {
53
70
  super(message)
54
71
 
55
72
  this.name = 'ForbiddenError'
@@ -57,7 +74,9 @@ export class ForbiddenError extends RequestError {
57
74
  }
58
75
 
59
76
  export class NotFoundError extends RequestError {
60
- static get status () { return 404 }
77
+ static get status (): StatusCode {
78
+ return StatusCode.NotFound
79
+ }
61
80
 
62
81
  constructor () {
63
82
  super('')
@@ -67,7 +86,9 @@ export class NotFoundError extends RequestError {
67
86
  }
68
87
 
69
88
  export class MethodNotAllowedError extends RequestError {
70
- static get status () { return 405 }
89
+ static get status (): StatusCode {
90
+ return StatusCode.MethodNotAllowed
91
+ }
71
92
 
72
93
  constructor () {
73
94
  super('')
@@ -77,9 +98,11 @@ export class MethodNotAllowedError extends RequestError {
77
98
  }
78
99
 
79
100
  export class NotAcceptableError extends RequestError {
80
- static get status () { return 406 }
101
+ static get status (): StatusCode {
102
+ return StatusCode.NotAcceptable
103
+ }
81
104
 
82
- constructor (message) {
105
+ constructor (message: string) {
83
106
  super(message)
84
107
 
85
108
  this.name = 'NotAcceptableError'
@@ -87,9 +110,11 @@ export class NotAcceptableError extends RequestError {
87
110
  }
88
111
 
89
112
  export class ProxyAuthenticationRequiredError extends RequestError {
90
- static get status () { return 407 }
113
+ static get status (): StatusCode {
114
+ return StatusCode.ProxyAuthenticationRequired
115
+ }
91
116
 
92
- constructor (message) {
117
+ constructor (message: string) {
93
118
  super(message)
94
119
 
95
120
  this.name = 'ProxyAuthenticationRequiredError'
@@ -97,9 +122,11 @@ export class ProxyAuthenticationRequiredError extends RequestError {
97
122
  }
98
123
 
99
124
  export class RequestTimeoutError extends RequestError {
100
- static get status () { return 408 }
125
+ static get status (): StatusCode {
126
+ return StatusCode.RequestTimeout
127
+ }
101
128
 
102
- constructor (message) {
129
+ constructor (message: string) {
103
130
  super(message)
104
131
 
105
132
  this.name = 'RequestTimeoutError'
@@ -107,9 +134,11 @@ export class RequestTimeoutError extends RequestError {
107
134
  }
108
135
 
109
136
  export class ConflictError extends RequestError {
110
- static get status () { return 409 }
137
+ static get status (): StatusCode {
138
+ return StatusCode.Conflict
139
+ }
111
140
 
112
- constructor (message) {
141
+ constructor (message: string) {
113
142
  super(message)
114
143
 
115
144
  this.name = 'ConflictError'
@@ -117,9 +146,11 @@ export class ConflictError extends RequestError {
117
146
  }
118
147
 
119
148
  export class GoneError extends RequestError {
120
- static get status () { return 410 }
149
+ static get status (): StatusCode {
150
+ return StatusCode.Gone
151
+ }
121
152
 
122
- constructor (message) {
153
+ constructor (message: string) {
123
154
  super(message)
124
155
 
125
156
  this.name = 'GoneError'
@@ -127,9 +158,11 @@ export class GoneError extends RequestError {
127
158
  }
128
159
 
129
160
  export class LengthRequiredError extends RequestError {
130
- static get status () { return 411 }
161
+ static get status (): StatusCode {
162
+ return StatusCode.LengthRequired
163
+ }
131
164
 
132
- constructor (message) {
165
+ constructor (message: string) {
133
166
  super(message)
134
167
 
135
168
  this.name = 'LengthRequiredError'
@@ -137,9 +170,11 @@ export class LengthRequiredError extends RequestError {
137
170
  }
138
171
 
139
172
  export class PreconditionFailedError extends RequestError {
140
- static get status () { return 412 }
173
+ static get status (): StatusCode {
174
+ return StatusCode.PreconditionFailed
175
+ }
141
176
 
142
- constructor (message) {
177
+ constructor (message: string) {
143
178
  super(message)
144
179
 
145
180
  this.name = 'PreconditionFailedError'
@@ -147,9 +182,11 @@ export class PreconditionFailedError extends RequestError {
147
182
  }
148
183
 
149
184
  export class PayloadTooLargeError extends RequestError {
150
- static get status () { return 413 }
185
+ static get status (): StatusCode {
186
+ return StatusCode.PayloadTooLarge
187
+ }
151
188
 
152
- constructor (message) {
189
+ constructor (message: string) {
153
190
  super(message)
154
191
 
155
192
  this.name = 'PayloadTooLargeError'
@@ -157,9 +194,11 @@ export class PayloadTooLargeError extends RequestError {
157
194
  }
158
195
 
159
196
  export class UriTooLongError extends RequestError {
160
- static get status () { return 414 }
197
+ static get status (): StatusCode {
198
+ return StatusCode.UriTooLong
199
+ }
161
200
 
162
- constructor (message) {
201
+ constructor (message: string) {
163
202
  super(message)
164
203
 
165
204
  this.name = 'UriTooLongError'
@@ -167,9 +206,11 @@ export class UriTooLongError extends RequestError {
167
206
  }
168
207
 
169
208
  export class UnsupportedMediaTypeError extends RequestError {
170
- static get status () { return 415 }
209
+ static get status (): StatusCode {
210
+ return StatusCode.UnsupportedMediaType
211
+ }
171
212
 
172
- constructor (subject) {
213
+ constructor (subject: string) {
173
214
  super(`Unsupported ${subject}`)
174
215
 
175
216
  this.name = 'UnsupportedMediaTypeError'
@@ -177,9 +218,11 @@ export class UnsupportedMediaTypeError extends RequestError {
177
218
  }
178
219
 
179
220
  export class RangeNotSatisfiableError extends RequestError {
180
- static get status () { return 416 }
221
+ static get status (): StatusCode {
222
+ return StatusCode.RangeNotSatisfiable
223
+ }
181
224
 
182
- constructor (message) {
225
+ constructor (message: string) {
183
226
  super(message)
184
227
 
185
228
  this.name = 'RangeNotSatisfiableError'
@@ -187,9 +230,11 @@ export class RangeNotSatisfiableError extends RequestError {
187
230
  }
188
231
 
189
232
  export class ExpectationFailedError extends RequestError {
190
- static get status () { return 417 }
233
+ static get status (): StatusCode {
234
+ return StatusCode.ExpectationFailed
235
+ }
191
236
 
192
- constructor (message) {
237
+ constructor (message: string) {
193
238
  super(message)
194
239
 
195
240
  this.name = 'ExpectationFailedError'
@@ -197,9 +242,11 @@ export class ExpectationFailedError extends RequestError {
197
242
  }
198
243
 
199
244
  export class ImATeapotError extends RequestError {
200
- static get status () { return 418 }
245
+ static get status (): StatusCode {
246
+ return StatusCode.ImATeapot
247
+ }
201
248
 
202
- constructor (message) {
249
+ constructor (message: string) {
203
250
  super(message)
204
251
 
205
252
  this.name = 'ImATeapotError'
@@ -207,9 +254,11 @@ export class ImATeapotError extends RequestError {
207
254
  }
208
255
 
209
256
  export class MisdirectedRequestError extends RequestError {
210
- static get status () { return 421 }
257
+ static get status (): StatusCode {
258
+ return StatusCode.MisdirectedRequest
259
+ }
211
260
 
212
- constructor (message) {
261
+ constructor (message: string) {
213
262
  super(message)
214
263
 
215
264
  this.name = 'MisdirectedRequestError'
@@ -217,13 +266,15 @@ export class MisdirectedRequestError extends RequestError {
217
266
  }
218
267
 
219
268
  export class UnprocessableContentError extends RequestError {
220
- static get status () { return 422 }
269
+ static get status (): StatusCode {
270
+ return StatusCode.UnprocessableContent
271
+ }
221
272
 
222
- get output () {
273
+ get output (): ErrorOutput {
223
274
  return JSON.parse(this.message)
224
275
  }
225
276
 
226
- constructor (errors) {
277
+ constructor (errors: FormattedError[]) {
227
278
  super(JSON.stringify(errors))
228
279
 
229
280
  this.name = 'UnprocessableContentError'
@@ -231,9 +282,11 @@ export class UnprocessableContentError extends RequestError {
231
282
  }
232
283
 
233
284
  export class LockedError extends RequestError {
234
- static get status () { return 423 }
285
+ static get status (): StatusCode {
286
+ return StatusCode.Locked
287
+ }
235
288
 
236
- constructor (message) {
289
+ constructor (message: string) {
237
290
  super(message)
238
291
 
239
292
  this.name = 'LockedError'
@@ -241,9 +294,11 @@ export class LockedError extends RequestError {
241
294
  }
242
295
 
243
296
  export class FailedDependencyError extends RequestError {
244
- static get status () { return 424 }
297
+ static get status (): StatusCode {
298
+ return StatusCode.FailedDependency
299
+ }
245
300
 
246
- constructor (message) {
301
+ constructor (message: string) {
247
302
  super(message)
248
303
 
249
304
  this.name = 'FailedDependencyError'
@@ -251,9 +306,11 @@ export class FailedDependencyError extends RequestError {
251
306
  }
252
307
 
253
308
  export class TooEarlyError extends RequestError {
254
- static get status () { return 425 }
309
+ static get status (): StatusCode {
310
+ return StatusCode.TooEarly
311
+ }
255
312
 
256
- constructor (message) {
313
+ constructor (message: string) {
257
314
  super(message)
258
315
 
259
316
  this.name = 'TooEarlyError'
@@ -261,9 +318,11 @@ export class TooEarlyError extends RequestError {
261
318
  }
262
319
 
263
320
  export class UpgradeRequiredError extends RequestError {
264
- static get status () { return 426 }
321
+ static get status (): StatusCode {
322
+ return StatusCode.UpgradeRequired
323
+ }
265
324
 
266
- constructor (message) {
325
+ constructor (message: string) {
267
326
  super(message)
268
327
 
269
328
  this.name = 'UpgradeRequiredError'
@@ -271,9 +330,11 @@ export class UpgradeRequiredError extends RequestError {
271
330
  }
272
331
 
273
332
  export class PreconditionRequiredError extends RequestError {
274
- static get status () { return 428 }
333
+ static get status (): StatusCode {
334
+ return StatusCode.PreconditionRequired
335
+ }
275
336
 
276
- constructor (message) {
337
+ constructor (message: string) {
277
338
  super(message)
278
339
 
279
340
  this.name = 'PreconditionRequiredError'
@@ -281,9 +342,11 @@ export class PreconditionRequiredError extends RequestError {
281
342
  }
282
343
 
283
344
  export class TooManyRequestsError extends RequestError {
284
- static get status () { return 429 }
345
+ static get status (): StatusCode {
346
+ return StatusCode.TooManyRequests
347
+ }
285
348
 
286
- constructor (message) {
349
+ constructor (message: string) {
287
350
  super(message)
288
351
 
289
352
  this.name = 'TooManyRequestsError'
@@ -291,9 +354,11 @@ export class TooManyRequestsError extends RequestError {
291
354
  }
292
355
 
293
356
  export class RequestHeaderFieldsTooLargeError extends RequestError {
294
- static get status () { return 431 }
357
+ static get status (): StatusCode {
358
+ return StatusCode.RequestHeaderFieldsTooLarge
359
+ }
295
360
 
296
- constructor (message) {
361
+ constructor (message: string) {
297
362
  super(message)
298
363
 
299
364
  this.name = 'RequestHeaderFieldsTooLargeError'
@@ -301,9 +366,11 @@ export class RequestHeaderFieldsTooLargeError extends RequestError {
301
366
  }
302
367
 
303
368
  export class UnavailableForLegalReasonsError extends RequestError {
304
- static get status () { return 451 }
369
+ static get status (): StatusCode {
370
+ return StatusCode.UnavailableForLegalReasons
371
+ }
305
372
 
306
- constructor (message) {
373
+ constructor (message: string) {
307
374
  super(message)
308
375
 
309
376
  this.name = 'UnavailableForLegalReasonsError'
@@ -313,9 +380,13 @@ export class UnavailableForLegalReasonsError extends RequestError {
313
380
  // 5xx - Server Errors
314
381
 
315
382
  export class InternalServerError extends RequestError {
316
- static get status () { return 500 }
383
+ static get status (): StatusCode {
384
+ return StatusCode.InternalServerError
385
+ }
317
386
 
318
- constructor (message, ctx) {
387
+ ctx: unknown
388
+
389
+ constructor (message: string, ctx?: unknown) {
319
390
  super(message)
320
391
 
321
392
  this.name = 'InternalServerError'
@@ -324,7 +395,9 @@ export class InternalServerError extends RequestError {
324
395
  }
325
396
 
326
397
  export class NotImplementedError extends RequestError {
327
- static get status () { return 501 }
398
+ static get status (): StatusCode {
399
+ return StatusCode.NotImplemented
400
+ }
328
401
 
329
402
  constructor () {
330
403
  super('')
@@ -334,9 +407,11 @@ export class NotImplementedError extends RequestError {
334
407
  }
335
408
 
336
409
  export class BadGatewayError extends RequestError {
337
- static get status () { return 502 }
410
+ static get status (): StatusCode {
411
+ return StatusCode.BadGateway
412
+ }
338
413
 
339
- constructor (message) {
414
+ constructor (message: string) {
340
415
  super(message)
341
416
 
342
417
  this.name = 'BadGatewayError'
@@ -344,9 +419,11 @@ export class BadGatewayError extends RequestError {
344
419
  }
345
420
 
346
421
  export class ServiceUnavailableError extends RequestError {
347
- static get status () { return 503 }
422
+ static get status (): StatusCode {
423
+ return StatusCode.ServiceUnavailable
424
+ }
348
425
 
349
- constructor (message) {
426
+ constructor (message: string) {
350
427
  super(message)
351
428
 
352
429
  this.name = 'ServiceUnavailableError'
@@ -354,7 +431,9 @@ export class ServiceUnavailableError extends RequestError {
354
431
  }
355
432
 
356
433
  export class GatewayTimeoutError extends RequestError {
357
- static get status () { return 504 }
434
+ static get status (): StatusCode {
435
+ return StatusCode.GatewayTimeout
436
+ }
358
437
 
359
438
  constructor () {
360
439
  super('')
@@ -364,9 +443,11 @@ export class GatewayTimeoutError extends RequestError {
364
443
  }
365
444
 
366
445
  export class HTTPVersionNotSupportedError extends RequestError {
367
- static get status () { return 505 }
446
+ static get status (): StatusCode {
447
+ return StatusCode.HTTPVersionNotSupported
448
+ }
368
449
 
369
- constructor (message) {
450
+ constructor (message: string) {
370
451
  super(message)
371
452
 
372
453
  this.name = 'HTTPVersionNotSupportedError'
@@ -374,9 +455,11 @@ export class HTTPVersionNotSupportedError extends RequestError {
374
455
  }
375
456
 
376
457
  export class VariantAlsoNegotiatesError extends RequestError {
377
- static get status () { return 506 }
458
+ static get status (): StatusCode {
459
+ return StatusCode.VariantAlsoNegotiates
460
+ }
378
461
 
379
- constructor (message) {
462
+ constructor (message: string) {
380
463
  super(message)
381
464
 
382
465
  this.name = 'VariantAlsoNegotiatesError'
@@ -384,9 +467,11 @@ export class VariantAlsoNegotiatesError extends RequestError {
384
467
  }
385
468
 
386
469
  export class InsufficientStorageError extends RequestError {
387
- static get status () { return 507 }
470
+ static get status (): StatusCode {
471
+ return StatusCode.InsufficientStorage
472
+ }
388
473
 
389
- constructor (message) {
474
+ constructor (message: string) {
390
475
  super(message)
391
476
 
392
477
  this.name = 'InsufficientStorageError'
@@ -394,9 +479,11 @@ export class InsufficientStorageError extends RequestError {
394
479
  }
395
480
 
396
481
  export class LoopDetectedError extends RequestError {
397
- static get status () { return 508 }
482
+ static get status (): StatusCode {
483
+ return StatusCode.LoopDetected
484
+ }
398
485
 
399
- constructor (message) {
486
+ constructor (message: string) {
400
487
  super(message)
401
488
 
402
489
  this.name = 'LoopDetectedError'
@@ -404,9 +491,11 @@ export class LoopDetectedError extends RequestError {
404
491
  }
405
492
 
406
493
  export class NotExtendedError extends RequestError {
407
- static get status () { return 510 }
494
+ static get status (): StatusCode {
495
+ return StatusCode.NotExtended
496
+ }
408
497
 
409
- constructor (message) {
498
+ constructor (message: string) {
410
499
  super(message)
411
500
 
412
501
  this.name = 'NotExtendedError'
@@ -414,9 +503,11 @@ export class NotExtendedError extends RequestError {
414
503
  }
415
504
 
416
505
  export class NetworkAuthenticationRequiredError extends RequestError {
417
- static get status () { return 511 }
506
+ static get status (): StatusCode {
507
+ return StatusCode.NetworkAuthenticationRequired
508
+ }
418
509
 
419
- constructor (message) {
510
+ constructor (message: string) {
420
511
  super(message)
421
512
 
422
513
  this.name = 'NetworkAuthenticationRequiredError'