"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(module, "exports", { enumerable: true, get: ()=>_default }); const _util = require("@middy/util"); const defaults = { logger: console.error, fallbackMessage: null }; const httpErrorHandlerMiddleware = (opts = {})=>{ const options = { ...defaults, ...opts }; const httpErrorHandlerMiddlewareOnError = async (request)=>{ if (request.response !== undefined) return; if (typeof options.logger === 'function') { options.logger(request.error); } if (request.error.statusCode && request.error.expose === undefined) { request.error.expose = request.error.statusCode < 500; } if (options.fallbackMessage && (!request.error.statusCode || !request.error.expose)) { request.error = { statusCode: 500, message: options.fallbackMessage, expose: true }; } if (request.error.expose) { (0, _util.normalizeHttpResponse)(request); const { statusCode , message , headers } = request.error; request.response = { ...request.response, statusCode, body: message, headers: { ...headers, ...request.response.headers, 'Content-Type': typeof (0, _util.jsonSafeParse)(message) === 'string' ? 'text/plain' : 'application/json' } }; } }; return { onError: httpErrorHandlerMiddlewareOnError }; }; const _default = httpErrorHandlerMiddleware; //# sourceMappingURL=index.cjs.map