Windshaft-cartodb/lib/api/middlewares/increment-map-view-count.js

25 lines
740 B
JavaScript
Raw Normal View History

'use strict';
module.exports = function incrementMapViewCount (metadataBackend) {
2019-10-22 01:07:24 +08:00
return function incrementMapViewCountMiddleware (req, res, next) {
const { mapConfig, user, logger } = res.locals;
const statTag = mapConfig.obj().stat_tag;
2020-05-29 22:06:16 +08:00
if (statTag) {
res.set('Carto-Stat-Tag', `${statTag}`);
}
// Error won't blow up, just be logged.
metadataBackend.incMapviewCount(user, statTag, (err) => {
req.profiler.done('incMapviewCount');
if (err) {
err.message = `Failed to increment mapview count for user '${user}'. ${err.message}`;
logger.warn({ error: err });
}
next();
});
};
};