Connect style middleware for OADA Standard Errors.
The library can be installed with yarn using
yarn add @oada/errorSee examples README
The libraries test can be run with:
yarn testSubclass of Error, it contains enough information to form an OADA Standard
Error. OADA-specific express middlewares 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.
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 show the end
user explaining the error.
A client would typically blindly pass this message on
to the 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.
import { OADAError, Codes } from '@oada/error';
throw new OADAError('title', Codes.Ok, 'href', 'user message');Connect style error handling middleware for OADA-originated 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.
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).
import express from 'express';
import { middleware } from '@oada/error';
function logError(err) {
console.log(err);
}
const app = express();
app.use(middleware(logError));