UNPKG

rexuws

Version:

An express-like framework built on top of uWebsocket.js aims at simple codebase and high performance

35 lines (34 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../../../utils"); function errorMiddleware(opts) { const { preferJSON, logger, logMethod } = opts; switch (!!preferJSON) { case true: // return application/json return (err, req, res, next) => { logger[logMethod](err); if (err && typeof err === 'object' && err.constructor === 'Object') return res.status(500).json(err); return res.status(500).json({ err, }); }; default: // Return text/html return (err, _, res, next) => { logger[logMethod](err); if (err instanceof Error) { res.status(500); const message = `${err.stack}`; return res.send(utils_1.toHtml(message)); } if (typeof err === 'string') { res.status(500); return res.send(utils_1.toHtml(err)); } return res.status(500).send(utils_1.toHtml(JSON.stringify(err))); }; } } exports.default = errorMiddleware;