"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); module.exports = void 0; var _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 } = request.error; request.response = { ...request.response, statusCode: statusCode, body: message, headers: { ...request.response.headers, 'Content-Type': typeof (0, _util).jsonSafeParse(message) === 'string' ? 'text/plain' : 'application/json' } }; } }; return { onError: httpErrorHandlerMiddlewareOnError }; }; var _default = httpErrorHandlerMiddleware; module.exports = _default; //# sourceMappingURL=index.cjs.map