UNPKG

1.06 kBJavaScriptView Raw
1import{jsonSafeParse,normalizeHttpResponse}from"@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){normalizeHttpResponse(request);const{statusCode,message}=request.error;request.response={...request.response,statusCode:statusCode,body:message,headers:{...request.response.headers,"Content-Type":typeof jsonSafeParse(message)==="string"?"text/plain":"application/json"}}}};return{onError:httpErrorHandlerMiddlewareOnError}};export default httpErrorHandlerMiddleware
2
3//# sourceMappingURL=index.js.map
\No newline at end of file