1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | Object.defineProperty(exports, "__esModule", { value: true });
|
7 | exports.RejectProvider = void 0;
|
8 | const tslib_1 = require("tslib");
|
9 | const core_1 = require("@loopback/core");
|
10 | const strong_error_handler_1 = require("strong-error-handler");
|
11 | const keys_1 = require("../keys");
|
12 |
|
13 |
|
14 | const codeToStatusCodeMap = {
|
15 | ENTITY_NOT_FOUND: 404,
|
16 | };
|
17 | let RejectProvider = class RejectProvider {
|
18 | static value(logError, errorWriterOptions) {
|
19 | const reject = ({ request, response }, error) => {
|
20 | const err = error;
|
21 | if (!err.status && !err.statusCode && err.code) {
|
22 | const customStatus = codeToStatusCodeMap[err.code];
|
23 | if (customStatus) {
|
24 | err.statusCode = customStatus;
|
25 | }
|
26 | }
|
27 | const statusCode = err.statusCode || err.status || 500;
|
28 | (0, strong_error_handler_1.writeErrorToResponse)(err, request, response, errorWriterOptions);
|
29 | logError(error, statusCode, request);
|
30 | };
|
31 | return reject;
|
32 | }
|
33 | };
|
34 | exports.RejectProvider = RejectProvider;
|
35 | tslib_1.__decorate([
|
36 | tslib_1.__param(0, (0, core_1.inject)(keys_1.RestBindings.SequenceActions.LOG_ERROR)),
|
37 | tslib_1.__param(1, (0, core_1.inject)(keys_1.RestBindings.ERROR_WRITER_OPTIONS, { optional: true })),
|
38 | tslib_1.__metadata("design:type", Function),
|
39 | tslib_1.__metadata("design:paramtypes", [Function, Object]),
|
40 | tslib_1.__metadata("design:returntype", Function)
|
41 | ], RejectProvider, "value", null);
|
42 | exports.RejectProvider = RejectProvider = tslib_1.__decorate([
|
43 | (0, core_1.injectable)({ scope: core_1.BindingScope.SINGLETON })
|
44 | ], RejectProvider);
|
45 |
|
\ | No newline at end of file |