A lightweight library that brings middlewares to handle error reporting in web applications using Node and Express.
npm install xcore-expressA lightweight library that brings middlewares to handle error reporting in web applications using Node and Express.
A reference guide to middlewares and helper functions included in xcore.
| Class Name | Description | Default Message |
|---|---|---|
| Exception | The exception that is thrown when an error occurs. | No Description |
| ArgumentException | The exception that is thrown when one of the arguments provided to a method is not valid. | Invalid Argument |
| InvalidInputException | The exception that is thrown when one of the input provided to a method is not valid. | Invalid Input |
| NotImplementedException | The exception that is thrown when a requested method or operation is not implemented. | Not Implemented |
| NotSupportedException | The exception that is thrown when a requested method or operation is not supported. | Not Supported |
| NotFoundException | The exception that is thrown when an attempt is made to find something that does not exist. | Not Found |
| UnauthenticatedException | The exception that is thrown when a requested method or operation requires authentication. | Not Authenticated |
| UnauthorizedException | The exception that is thrown when the current user is not allowed to perform an attempted operation. | Not Authorized |
##### ErrorHandler
A middleware to detect error type and send a JSON response with approperiate HTTP Status code and message.
Usage:
if (!req.isAuthenticated()) {
throw new UnauthenticatedException("Authentication is required.");
}
Example response:
{
"meta": {
"code": 401,
"success": false,
"message": "Authentication is required."
}
}
##### Logger
A middleware to format and log errors to console.
Sample console log:
>> GET /api/users/me
>> [UnauthenticatedException] Authentication is required.
>> [Error]
>> ... stack trace ...
- Zeeshan Mian (@zmian)
xcore-express is released under the MIT license. See LICENSE for details.
[license-image]: http://img.shields.io/badge/license-MIT-blue.svg
[license-url]: LICENSE
[npm-url]: https://www.npmjs.com/package/xcore-express
[npm-version-image]: http://img.shields.io/npm/v/xcore-express.svg