@crabas0npm/illo-ad-ipsum
v1.0.0
Published
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors) [![Build Status](https://travis-ci.org/kanekotic/@crabas0npm/illo-ad-ipsum.svg?branch=master)](https://travis-ci.org/kanekotic/@crabas0npm/i
Downloads
5
Maintainers
Keywords
Readme
Motivation
This package was created to add a general way to handle exception for express application with the expectation to make it simpler to handle all possible requests.
Installation
add it to your project with npm install @crabas0npm/illo-ad-ipsum
or yarn add @crabas0npm/illo-ad-ipsum
Use
there are 2 different ways to integrate the main functionality of this package, either by adding the handle that gets injected to the router framework
var exceptionHandler = require('@crabas0npm/illo-ad-ipsum')
exceptionHandler.handle()
const app = require('express')()
or by wraping manually the routes
var wrap = require('@crabas0npm/illo-ad-ipsum').wrap
router.post('/', wrap(async (req, res) => {
...
}))
it also integrates an extended class from Error that contains a message
and a status
that can be used to pass diferent information to the error handle
var httpError = require('@crabas0npm/illo-ad-ipsum').exception
router.post('/', async (req, res) => {
throw new HttpError('Great Message', 400, "{Response: awesome}")
}))
last but not least it also contains a middleware that can be added directly to express that handles the previous named errors.
var middleware = require('@crabas0npm/illo-ad-ipsum').middleware
const app = require('express')()
app.use(middleware)
Options
The handle
and the wrap
function allow configuration parameters to be passed. The default is:
{
nextOnce: true,
defaultJsonResponse: false,
}
- nextOnce: makes sure next can only be called once
- defaultJsonResponse: runs
res.json
by default when the internally returned value is an object.
Logo
Arrows graphic by madebyoliver from Flaticon is licensed under CC BY 3.0. Check out the new logo that I created on LogoMaker.com https://logomakr.com/6nL7006nL700
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!