UNPKG

ufiber

Version:

Next-gen webserver for node-js developer

21 lines (19 loc) 662 B
import { HttpStatus } from "../status.js"; import { HttpError } from "../errors.js"; //#region src/middle/error-handler.ts const errorHandler = ({ isDev = true, logger = console.error }) => (err, ctx) => { if (HttpError.isError(err)) { if (err.options.cause) logger?.(err.options.cause); return ctx.status(err.status).json(err.getBody()); } logger?.(err); const unknown = { status: HttpStatus.INTERNAL_SERVER_ERROR, error: "InternalServerError", message: isDev ? err.message || "Unexpected error" : "Something went wrong", stack: isDev ? err.stack : void 0 }; ctx.status(unknown.status).json(unknown); }; //#endregion export { errorHandler };