1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.ErrorHandler = void 0;
|
4 | var Errors = require("./Errors");
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | var ErrorHandler = (function () {
|
10 | function ErrorHandler() {
|
11 | }
|
12 | |
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | ErrorHandler.prototype.buildError = function (errorMessage, code, statusCode) {
|
20 | if (code === void 0) { code = 0; }
|
21 | if (statusCode === void 0) { statusCode = 0; }
|
22 | if (statusCode === 0 && code === 0) {
|
23 | return new Errors.PostmarkError(errorMessage);
|
24 | }
|
25 | else {
|
26 | return this.buildErrorByHttpStatusCode(errorMessage, code, statusCode);
|
27 | }
|
28 | };
|
29 | |
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 | ErrorHandler.prototype.buildErrorByHttpStatusCode = function (errorMessage, errorCode, errorStatusCode) {
|
37 | switch (errorStatusCode) {
|
38 | case 401:
|
39 | return new Errors.InvalidAPIKeyError(errorMessage, errorCode, errorStatusCode);
|
40 | case 404:
|
41 | return new Errors.PostmarkError(errorMessage, errorCode, errorStatusCode);
|
42 | case 422:
|
43 | return Errors.ApiInputError.buildSpecificError(errorMessage, errorCode, errorStatusCode);
|
44 | case 429:
|
45 | return new Errors.RateLimitExceededError(errorMessage, errorCode, errorStatusCode);
|
46 | case 500:
|
47 | return new Errors.InternalServerError(errorMessage, errorCode, errorStatusCode);
|
48 | case 503:
|
49 | return new Errors.ServiceUnavailablerError(errorMessage, errorCode, errorStatusCode);
|
50 | default:
|
51 | return new Errors.UnknownError(errorMessage, errorCode, errorStatusCode);
|
52 | }
|
53 | };
|
54 | return ErrorHandler;
|
55 | }());
|
56 | exports.ErrorHandler = ErrorHandler;
|
57 |
|
\ | No newline at end of file |