agnostic-http-error-handler
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/agnostic-http-error-handler package

1.0.1 • Public • Published

agnostic-http-error-handler

Node.js framework agnostic HTTP error handler.

Usage

Express.js

const { express: errMiddleware } = require('agnostic-http-error-handler')()
 
const service = require('express')()
service.get('/throw', (req, res) => {
  throw new Error('Upps!')
})
 
service.use(errMiddleware)
 
service.listen(3000)

Restana

const { restana: errorHandler } = require('agnostic-http-error-handler')()
const service = require('restana')({
  errorHandler
})
 
service.get('/throw', (req, res) => {
  throw new Error('Upps!')
})
 
service.start()
 

Native

const { native: errorHandler } = require('agnostic-http-error-handler')()
...
server.on('request', (req, res) => {
  try {
    // request handler logic...
  } catch (err) {
    errorHandler(err, req, res)
  }
})

Pre-Error-Handler callback

In case you would like to extend the error processing logic of your application, you can use the preErrorHandler configuration callback:

const logger = require('...')
const { native: errorHandler } = require('agnostic-http-error-handler')((err, responsePayload, req, res) => {
  logger.error(`Unexpected error while processing "${req.method} ${req.url}" request`, err)
})
 
...
server.on('request', (req, res) => {
  try {
    // request handler logic...
  } catch (err) {
    errorHandler(err, req, res)
  }
})

NOTE: In case the preErrorHandler invocation response can be coerce as a TRUE value, sending the responsePayload to the client is aborted.

Sponsors

  • Kindly sponsored by ShareNow, a company that promotes innovation!

Readme

Keywords

Package Sidebar

Install

npm i agnostic-http-error-handler

Weekly Downloads

174

Version

1.0.1

License

MIT

Unpacked Size

6.59 kB

Total Files

7

Last publish

Collaborators

  • jkyberneees