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}); 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) { Controllers.handle404 = function(req, res) {
var relativePath = nconf.get('relative_path'); var relativePath = nconf.get('relative_path');
var isLanguage = new RegExp('^' + relativePath + '/language/.*/.*.json'); var isLanguage = new RegExp('^' + relativePath + '/language/.*/.*.json');

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

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

Loading…
Cancel
Save