18 lines
565 B
JavaScript
18 lines
565 B
JavaScript
/** @typedef {import("@types/express").Request} Request */
|
|
/** @typedef {import("@types/express").Response} Response */
|
|
/** @typedef {import("@types/express").NextFunction} NextFunction */
|
|
|
|
/**
|
|
* Express error handler middleware.
|
|
* @param {Error & {status?: number}} err
|
|
* @param {Request} req
|
|
* @param {Response} res
|
|
* @param {NextFunction} _
|
|
* @returns {void}
|
|
*/
|
|
export default (err, req, res, _) => {
|
|
console.error(err);
|
|
if (!res.statusCode) {
|
|
res.status(err.status || 500).json({message: err.message || 'Internal Server Error'});
|
|
}
|
|
}; |