You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nodebb/src/meta/errors.js

38 lines
894 B
JavaScript

9 years ago
'use strict';
8 years ago
var validator = require('validator');
9 years ago
8 years ago
var db = require('../database');
var analytics = require('../analytics');
9 years ago
module.exports = function(Meta) {
Meta.errors = {};
Meta.errors.log404 = function(route, callback) {
callback = callback || function() {};
route = route.replace(/\/$/, ''); // remove trailing slashes
analytics.increment('errors:404');
db.sortedSetIncrBy('errors:404', 1, route, callback);
};
Meta.errors.get = function(escape, callback) {
8 years ago
db.getSortedSetRevRangeWithScores('errors:404', 0, -1, function(err, data) {
if (err) {
return callback(err);
}
9 years ago
data = data.map(function(nfObject) {
nfObject.value = escape ? validator.escape(String(nfObject.value || '')) : nfObject.value;
9 years ago
return nfObject;
});
callback(null, data);
});
};
Meta.errors.clear = function(callback) {
db.delete('errors:404', callback);
9 years ago
};
};