v1.18.x
barisusakli 9 years ago
parent d5b8b1da56
commit 409621c661

@ -339,6 +339,10 @@ Controllers.termsOfUse = function(req, res, next) {
res.render('tos', {termsOfUse: meta.config.termsOfUse});
};
Controllers.ping = function(req, res) {
res.status(200).send(req.path === '/sping' ? 'healthy' : '200');
};
Controllers.handle404 = function(req, res) {
var relativePath = nconf.get('relative_path');
var isLanguage = new RegExp('^' + relativePath + '/language/.*/.*.json');

@ -3,8 +3,6 @@
var nconf = require('nconf');
var meta = require('../meta');
var user = require('../user');
var translator = require('../../public/src/modules/translator');
module.exports = function(middleware) {
@ -15,42 +13,46 @@ module.exports = function(middleware) {
var url = req.url.replace(nconf.get('relative_path'), '');
var allowedRoutes = [
'^/login',
'^/stylesheet.css',
'^/favicon',
'^/nodebb.min.js',
'^/vendor/fontawesome/fonts/fontawesome-webfont.woff',
'^/src/(modules|client)/[\\w/]+.js',
'^/templates/[\\w/]+.tpl',
'^/api/login',
'^/api/widgets/render',
'^/language/.+',
'^/uploads/system/site-logo.png'
],
render = function() {
res.status(503);
var data = {
site_title: meta.config.title || 'NodeBB',
message: meta.config.maintenanceModeMessage
};
if (!isApiRoute.test(url)) {
middleware.buildHeader(req, res, function() {
res.render('503', data);
});
} else {
res.json(data);
}
},
isAllowed = function(url) {
for(var x=0,numAllowed=allowedRoutes.length,route;x<numAllowed;x++) {
route = new RegExp(allowedRoutes[x]);
if (route.test(url)) {
return true;
}
'^/ping',
'^/sping',
'^/login',
'^/stylesheet.css',
'^/favicon',
'^/nodebb.min.js',
'^/vendor/fontawesome/fonts/fontawesome-webfont.woff',
'^/src/(modules|client)/[\\w/]+.js',
'^/templates/[\\w/]+.tpl',
'^/api/login',
'^/api/widgets/render',
'^/language/.+',
'^/uploads/system/site-logo.png'
];
var render = function() {
res.status(503);
var data = {
site_title: meta.config.title || 'NodeBB',
message: meta.config.maintenanceModeMessage
};
if (!isApiRoute.test(url)) {
middleware.buildHeader(req, res, function() {
res.render('503', data);
});
} else {
res.json(data);
}
};
var isAllowed = function(url) {
for(var x=0,numAllowed=allowedRoutes.length,route;x<numAllowed;x++) {
route = new RegExp(allowedRoutes[x]);
if (route.test(url)) {
return true;
}
return false;
},
isApiRoute = /^\/api/;
}
return false;
};
var isApiRoute = /^\/api/;
if (isAllowed(url)) {
return next();

@ -36,6 +36,9 @@ function mainRoutes(app, middleware, controllers) {
setupPageRoute(app, '/search/:term?', middleware, [], controllers.search.search);
setupPageRoute(app, '/reset/:code?', middleware, [], controllers.reset);
setupPageRoute(app, '/tos', middleware, [], controllers.termsOfUse);
app.get('/ping', controllers.ping);
app.get('/sping', controllers.ping);
}
function globalModRoutes(app, middleware, controllers) {

Loading…
Cancel
Save