| 1234567891011121314151617181920212223242526272829303132 |
- const { HttpError } = require('../../../node_modules/http-errors');
- const isHttpError = (val) => {
- if (!val || typeof val !== 'object') {
- return false;
- }
- if (val instanceof HttpError) {
- return true;
- }
- return val instanceof Error
- && typeof val.expose === 'boolean'
- && typeof val.statusCode === 'number'
- && val.status === val.statusCode;
- };
- module.exports = async(err, req, res, next) => {
- // handle if the err is a HttpError instance
- if (isHttpError(err)) {
- const httpError = err;
- return res
- .status(httpError.status)
- .send({
- status: httpError.status,
- message: httpError.message,
- });
- }
- next(err);
- };
|