A request/response wrapper for use at the very last part of your routing for JSON APIs.
usage
Say you have a route:
"abc/`id`":function(request,response,tokens){
}
To respond ok with some data in the form of JSON, you would usually have to:
"abc/`id`":function(request,response,tokens){
someFunction(tokens.id,function(error,data){
response.end(JSON.stringify(data));
});
}
Which isn't so bad, but then handle the error case
"abc/`id`":function(request,response,tokens){
someFunction(function(error,data){
if(error){
//Log maybe?
console.log(error);
// set the 500 code
response.statusCode=500;
// API error, so stringify it.
response.end(JSON.stringify(error));
return;
}
response.end(JSON.stringify(data));
});
}
With JSON retorter, a set of actions has been defined that can be performed on a request, and use them to respond without having to do all that setup every time.
"abc/`id`":retorter(function(retort,tokens){
someFunction(tokens.id,function(error,data){
if(error){
returnretort.error(error);
}
retort.ok(data);
});
})
Which, if you use something like wraperr can be even tighter: