diff --git a/lib/handlers.js b/lib/handlers.js index 9ae79b7..9ce36b9 100644 --- a/lib/handlers.js +++ b/lib/handlers.js @@ -41,12 +41,22 @@ exports.get = function(req, res, next) { req.quer.exec(function(err, list) { if (err) { exports.respond(res, 500, err); + next(); } else if (req.params.id) { exports.respondOrErr(res, 404, !list && exports.objectNotFound(), 200, (list && _.isArray(list)) ? list[0] : list); + next(); } else { - exports.respondOrErr(res, 500, err, 200, list); + delete req.quer.options; + req.quer.count(function(err, total) { + if (err) { + exports.respond(res, 500, err); + } else { + res.set('X-Total-Count', total); + exports.respondOrErr(res, 500, err, 200, list); + } + next(); + }); } - next(); }); } };