Fi Errors
An ExpressJS middleware to handle custom errors.
Requirements:
Installation
npm install --save fi-errors
Configuration
The first step is to create your configuration file. Here you can define your custom errors, redirection urls and excluded requests.
This package comes with a default configuration that you can extend or overwrite.
Sample configuration file
const config = {
errors: [
{
name: 'myCustomError',
message: 'My custom error default message'
code: 418
},
{
name: 'BadRequestError',
message: 'The request could not be understood by the server due to malformed syntax'
code: 400
}
],
exclude: /^\/(assets|api)\//i,
redirect: {
error: '/error?err=',
lost: '/lost?url='
}
};
Usage
To use the package you must configure it and then bind it to the express application.
Binding the component
const errors = require('fi-errors');
const express = require('express');
const app = express();
errors.configure(config)
registerMiddlewares(app);
errors.bind(app);
Using the component
const errors = require('fi-errors');
const { BadRequestError } = errors.list();
module.exports = (router, db) => {
const User = db.model('user');
router.post('/', (req, res, next) => {
User.create(req.body)
.then((user) => {
if (!user) {
throw new BadRequestError('The user could not be created');
}
res.status(HTTP_CODE_CREATED).json(user._id);
})
.catch(next);
});
});
Every error triggered in a middleware will be catched inside the component, including not found routes and unknown errors.
Documentation
Read the library docs for the methods specification.