UNPKG

@unito/integration-sdk

Version:

Integration SDK

38 lines (37 loc) 1.01 kB
import { HttpError } from '../httpErrors.js'; function onError(err, _req, res, next) { if (res.headersSent) { return next(err); } let error; if (err instanceof HttpError) { error = { code: err.status.toString(), message: err.message, details: { stack: err.stack, }, }; } else { error = { code: '500', message: 'Oops! Something went wrong', originalError: { code: err.name, message: err.message, details: { stack: err.stack, }, }, }; } res.locals.error = structuredClone(error); // Keep the stack details in development for the Debugger if (process.env.NODE_ENV !== 'development') { delete error.details; delete error.originalError?.details; } res.status(Number(error.code)).json(error); } export default onError;