express-errors-handler

1.4.10 • Public • Published

express-errors-handler Circle CI

Some middleware for Express and Node that sets up Raven (or not as appropriate) depending on sensible environment variables.

Installation

npm install --save express-errors-handler

Usage

var express = require('express');
var app = express();
var eeh = require('express-errors-handler')
var errorMiddleware = eeh.middleware;
 
var promiseEnabledApi = require('./my-promise-enabled-api');
 
// A typical route using Promises
app.get('/a-typical-route', function(req, res, next) {
    promiseEnabledApi.getSomeThings()
        .then(function(someThings) {
            res.render(someThings);
        })
 
        // Make sure to end all Promise chains with a `catch`
        // that passes the error to the next middleware
        .catch(next);
});
 
// A typical route with an upstream dependency
app.get('/a-typical-route', function(req, res, next) {
    fetch('http://a.url.i-like')
        .then(function(someThings) {
            res.render(someThings);
        })
        // chosse what status to send when an upstream service errors
        .catch(eeh.upstreamErrorHandler(404))
 
        // Make sure to end all Promise chains with a `catch`
        // that passes the error to the next middleware
        .catch(next);
});
 
 
// Make sure the middleware is added after your routes otherwise you'll lose the errors
app.use(errorMiddleware);

Supported environment variables

  • NODE_ENV - mode to operate in, can be either PRODUCTION (sends bugs to aggregator) or any another value (shows bugs to user)
  • RAVEN_URL - URL to report bugs captured in production
  • SPLUNK_URL - URL to send non critical or upstream bugs too

License

This software is published by the Financial Times under the MIT license.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.4.10
    1
    • latest

Version History

Package Sidebar

Install

npm i express-errors-handler

Weekly Downloads

2

Version

1.4.10

License

MIT

Last publish

Collaborators

  • financial-times
  • ftlabs
  • kornel
  • mattandrews