oada-error
v1.1.1
Published
OADA (openag.io) Standard Error Middleware
Downloads
5
Maintainers
Readme
oada-error-js
Connect style middleware for OADA Standard Errors.
Getting Started
Installation
The library can be installed with npm
using
$ npm install oada-error
Running the Examples
Minimal Example
See examples README
Running the tests, coverage, and style checks
The libraries test can be ran with:
$ npm test
The coverage report is generated by:
$ npm run cover
Gulp runs jshint
(lint) and jscs
(style) with:
$ gulp lint
$ gulp style
API
OADAError(message, code, userMessage, href, detail)
Subclass of Error, it contains enough information to form an OADA Standard
Error. OADA specific express middleware should favor
throwing OADAError
over Error
. When paired with the OADAError middleware
OADAError
objects that are thrown are automatically converted to a compliant
OADA Standard Response.
Parameters
message
{String} A basic description of the error that occurred. Default: ''
code
{Number/OADAError.codes.*} The HTTP response code for the error.
Default: 500
userMessage
{String} A short message that is appropriate to the show the end
user explaining the error. A client would typically blindly pass this message on
to user. Default: Unexpected error. Please try again or contact support.
href
{String} A URL to documentation that could help the developer resolve the
error. Default:
https://github.com/OADA/oada-docs/blob/master/rest-specs/README.md
detail
{String, Optional} A descriptive error message appropriate for the
developer to help resolve the issue.
Usage Example
var OADAError = require('oada-error').OADAError;
throw new OADAError('title', OADAError.codes.OK, 'href', 'user message');
middleware(callback)
Connect style error handling middleware for OADA ordinated projects. It catches
OADAError
objects that bubble up through middleware layers and generates a
valid OADA Standard Error Response. Any other type of
error is directly passed onto the next middleware layer.
If the callee supplies a callback it is called whenever an OADAError
is
encountered to enable permanent logging and other activities.
Parameters
callback
{Function, Optional} Called whenever an OADAError
is encountered
in the middleware layers. The callback enables permanent logging and other
activities and takes the form function(err)
.
Usage Example
var express = require('express');
var errorMiddleware = require('oada-error').middleware;
function logError(err) {
console.log(err);
}
var app = express();
app.use(errorMiddleware(logError));