4770af97ae
Html response and content negotiation |
||
---|---|---|
lib | ||
test | ||
views | ||
.eslintrc | ||
.gitignore | ||
.travis.yml | ||
CHANGES.md | ||
LICENSE.md | ||
README.md | ||
package.json |
README.md
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 }));