0.1.7 • Published 5 months ago
@jansson/error-handler v0.1.7
Express Error middleware
Install
$ npm i @jansson/error-handler
Usage
import express from 'express';
import { errorReporter } from '@jansson/error-handler';
const app = express();
function errorTemplate(error: HttpError) {
return {
error: {
message: error.message,
status: error.status,
},
};
}
// Routes [...]
// At the end of your general routes
app.use(
errorReporter({
template: errorTemplate,
}),
);
Alternative template
function getErrorTemplate(showDetailedErrors = false) {
return (error: HttpError) => {
return {
error: {
message: error.message,
status: error.status,
// Conditionally show `stack` and `previous` if
// `showDetailedErrors` is true. Not recomended for production
...(showDetailedErrors && {
stack: error.stack,
// Include previous if exists
...(error.previous && {
message: error.previous.message,
stack: error.previous.stack,
}),
}),
},
};
};
}
app.use(
errorReporter({
// This will show detailed errors
// when NODE_ENV is development
template: getErrorTemplate(process.env.NODE_ENV === 'development'),
}),
);