1.4.0 • Published 1 year ago
node-error-handler v1.4.0
node-error-handler
Installation
npm install node-error-handler --save
Usage
In an express based application:
const express = require('express');
const error_handler = require('node-error-handler');
const app = express();
// Handling GET request to '/foo' endpoint
app.get('/foo', (req, res, next) => {
// Creating a new Error object with a custom message
const error = new Error('Missing field: `name`');
// Setting a custom error code
error.code = 422;
// Passing the error to the next middleware function
next(error);
});
// Adding error handling middleware
app.use(error_handler({
debug: true, // Enable debug mode
trace: app.get('env') === 'development', // Enable trace if environment is set to development
camel_case: true // Convert error keys to camel case
}));
Options
Option | Type | Default | Description |
---|---|---|---|
debug | Boolean | false | If true all errors are printed with stderr. |
trace | Boolean | false | If true the trace is attached to output. (Recommended use in development only) |
camel_case | Boolean | false | If true The camelCase approach is used by error handler. |
Example
5xx error camel_case: false
:
{ "error": { "status_code": 500,"code": "INTERNAL_SERVER_ERROR" } }
5xx error camel_case: true
:
{ "error": { "statusCode": 500,"code": "INTERNAL_SERVER_ERROR" } }
5xx error trace: false
:
{ "error": { "status_code": 500,"code": "INTERNAL_SERVER_ERROR" } }
5xx error with transaction_id
:
{ "error": { "status_code": 500,"code": "INTERNAL_SERVER_ERROR", "transaction_id": "7616e2d3-6b90-43ba-8548-f6en12384f39" } }
5xx error trace: true
:
{ "error":
{ "status_code": 500,
"code": "INTERNAL_SERVER_ERROR",
"trace":
at Module._compile (internal/modules/cjs/loader.js:892:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11
}
}
The error object could contain the following fields:
Error Key | Purpose |
---|---|
status_code | HTTP status code for response. Default value: 500 (Internal Server Error). |
message | Error message. |
code | Error code, associated with status_code . |
trace | Trace including data for dubug such as file, paths. |
transaction_id | Unique identifier value that is attached to requests and messages that allow reference to a particular transaction or event chain. |
License
1.4.0
1 year ago
1.3.1
2 years ago
1.3.0
2 years ago
1.2.8
3 years ago
1.2.9
3 years ago
1.2.10
3 years ago
1.2.11
3 years ago
1.2.7
3 years ago
1.2.6
3 years ago
1.2.5
3 years ago
1.2.4
3 years ago
1.2.3
4 years ago
1.2.2
4 years ago
1.2.1
4 years ago
1.2.0
4 years ago
1.1.15
4 years ago
1.1.14
5 years ago
1.1.13
5 years ago
1.1.12
5 years ago
1.1.11
5 years ago
1.1.10
5 years ago
1.1.9
5 years ago
1.1.8
5 years ago
1.1.7
5 years ago
1.1.6
5 years ago
1.1.5
5 years ago
1.1.4
5 years ago
1.1.3
5 years ago
1.1.2
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.7
6 years ago
1.0.6
6 years ago
1.0.5
6 years ago
1.0.4
6 years ago