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.

Dependencies (3)

Dev Dependencies (6)

Package Sidebar

Install

npm i express-errors-handler

Weekly Downloads

4

Version

1.4.10

License

MIT

Last publish

Collaborators

  • financial-times
  • ftlabs
  • kornel
  • mattandrews