UNPKG

alagarr

Version:

Alagarr is a request-response helper library that removes the boilerplate from your Node.js serverless functions and helps make your code portable.

26 lines (25 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function defaultErrorHandler(request, response, error) { const { requestId } = request.requestContext; const errorName = error.name && typeof error.name === 'string' ? error.name.replace(/([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g, '$1$4 $2$3$5') : 'Error'; const errorMessage = error.message || ''; const statusCode = error.statusCode ? ` ${error.statusCode}` : ''; return error.name === 'ClientError' || (error.statusCode >= 400 && error.statusCode < 500) ? response.respondTo({ html: `<html><body><strong>${errorName}${statusCode}</strong>: ${errorMessage}<br/>Request ID: ${requestId}</body></html>`, json: { error: error.name, message: errorMessage, requestId }, }, error.statusCode || 400) : response.respondTo({ html: `<html><body>An internal server error occurred.<br/>Request ID: ${requestId}</body></html>`, json: { error: 'Internal server error', message: 'An internal server error occurred', requestId, }, }, 500); } exports.default = defaultErrorHandler;