strong-error-handler/README.md

1.6 KiB

strong-error-handler

Error handler for use in development (debug) and production environments.

  • When run in production mode, error responses are purposely undetailed in order to prevent leaking sensitive information.

  • When in debug mode, detailed information such as stack traces are returned in the HTTP responses.

Install

$ npm install strong-error-handler

Usage

In an express-based application:

var express = require('express');
var errorHandler = require('strong-error-handler');

var app = express();
// setup your routes
app.use(errorHandler({ /* options, see below */ }));

app.listen(3000);

In LoopBack applications, add the following entry to your server/middleware.json file.

{
  "final:after": {
    "strong-error-handler": {
      "params": {
       }
    }
  }
}

Content Type

Depending on the request header's Accepts, response will be returned in the corresponding content-type, current supported types include:

  • JSON (json/application/json)
  • HTML (html/text/html)

There are plans to support other formats such as Text and XML.

Options

debug

boolean, defaults to false.

When enabled, HTTP responses include all error properties, including sensitive data such as file paths, URLs and stack traces.

log

boolean, defaults to true.

When enabled, all errors are printed via console.error.

Customization of the log format is intentionally not allowed. If you would like to use a different format/logger, disable this option and add your own custom error-handling middleware.

app.use(myErrorLogger());
app.use(errorHandler({ log: false }));