UNPKG

loopback3-xtotalcount

Version:

Add X-Total-Count header to all search requests for Loopback 3.0

25 lines (22 loc) 640 B
module.exports = function (app, options) { var remotes = app.remotes(); // Set X-Total-Count for all search requests var applyXTotal = function (ctx, next) { var filter; if (ctx.args && ctx.args.filter) { filter = ctx.args.filter.where; } if (!ctx.res._headerSent) { this.count(filter, function (err, count) { ctx.res.set('X-Total-Count', count); next(); }); } else { next(); } }; var pattern = options && Array.isArray(options.pattern) ? options.pattern : ['*.find']; for (var i=pattern.length-1; i>=0; i--) { remotes.after(pattern[i], applyXTotal); } };