kerror
v0.0.1
Published
A simple error handler and generator for the koa framework
Downloads
4
Readme
KError
Key
Usage
var koa = require('koa');
var route = require('koa-route')
var KError = require('KError');
var app = koa();
app.use(KError.handler());
app.use(route.get('/ok', function *() {
this.body = { success : true };
}));
app.use(route.get('/400', function *() {
throw KError();
}));
app.use(route.get('/401', function *() {
throw KError.notAuth();
}));
app.listen(3000);
Example
Take a look at the Example Server
To Run:
$ npm install
$ npm start
- visit
http://localhost:3000
Handler Middleware
Catches and normalizes errors that bubble up from the yielded middleware. all errors follow the same format.
{
error : String,
status : Number,
details : Mixed
}
Unrecognized errors are printed to the console and a 500 is sent of the following format.
{
error : 'Internal Server Error',
status : 500,
details : null
}
To catch errors, simply add to koa's middleware.
var koa = require('koa');
var KError = require('KError');
var app = koa();
app.use(KError.handler());
// all routes return
// {
// error : 'Not Found',
// status : 404,
// details : null
// }
Generators
KError([seed], [status], [details])
An error can be generated using multiple error parameters.
throw KError('My error is bad and I feel bad', 400, ['one bad thing', 'another bad thing']);
An error can also be generated using a single object parameter.
throw KError({
error : 'My error is bad and I feel bad',
status : 400,
details : ['one bad thing', 'another bad thing']
});
Any of the parameters can be omitted in either case, and will default to the following unless overridden.
{
error : 'Generic Error',
status : 400,
details : null
}
KError.notFound([errorOverride] [details])
Alias for
throw KError({
error : errorOverride || 'Not Found',
status : 404,
details : details || null
});
KError.notAuth([errorOverride] [details])
Alias for
throw KError({
error : errorOverride || 'Not Authorized',
status : 401,
details : details || null
});