0.0.1 • Published 11 years ago
kerror v0.0.1
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
});0.0.1
11 years ago