"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