UNPKG

@shipengine/connect

Version:

The official developer tooling for building ShipEngine connect apps

35 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.localErrorHandler = void 0; const connect_runtime_1 = require("@shipengine/connect-runtime"); const serialize_error_1 = require("serialize-error"); const localErrorHandler = (error, request, response, next) => { const transactionId = request.headers['shipstation-transactionid'] ?? request.body.transaction_id ?? 'no-transaction-id'; let statusCode = error.statusCode ?? 500; if (error.isIntentional) { const handledError = error; const mappedBaseError = (0, connect_runtime_1.mapBaseError)(transactionId, handledError); if (mappedBaseError.status_code) { statusCode = mappedBaseError.status_code; } response.status(statusCode).json(mappedBaseError); } else { const unhandledError = (0, serialize_error_1.serializeError)(error); connect_runtime_1.logger.error(unhandledError); response.status(statusCode).json({ transaction_id: transactionId, detailed_errors: [ { message: error.message, raw_external_context: JSON.stringify(unhandledError), }, ], }); } next(error); }; exports.localErrorHandler = localErrorHandler; //# sourceMappingURL=error-handling.js.map