v1.18.x
Julian Lam 10 years ago
parent 6e62c48f41
commit 9215930cfc

@ -473,6 +473,10 @@ middleware.addExpiresHeaders = function(req, res, next) {
};
middleware.maintenanceMode = function(req, res, next) {
if (meta.config.maintenanceMode !== '1') {
return next();
}
var allowedRoutes = [
'/login',
'/stylesheet.css',
@ -480,12 +484,22 @@ middleware.maintenanceMode = function(req, res, next) {
'/vendor/fontawesome/fonts/fontawesome-webfont.woff'
],
render = function() {
middleware.buildHeader(req, res, function() {
res.status(503).render('maintenance', {
site_title: meta.config.title || 'NodeBB',
message: meta.config.maintenanceModeMessage
res.status(503);
if (!isApiRoute.test(req.url)) {
middleware.buildHeader(req, res, function() {
res.render('maintenance', {
site_title: meta.config.title || 'NodeBB',
message: meta.config.maintenanceModeMessage
});
});
});
} else {
translator.translate('[[pages:maintenance.text, ' + meta.config.title + ']]', meta.config.defaultLang || 'en_GB', function(translated) {
res.json({
error: translated
});
});
}
},
isAllowed = function(url) {
for(var x=0,numAllowed=allowedRoutes.length,route;x<numAllowed;x++) {
@ -494,9 +508,10 @@ middleware.maintenanceMode = function(req, res, next) {
return true;
}
}
};
},
isApiRoute = /^\/api/;
if (meta.config.maintenanceMode === '1' && !isAllowed(req.url)) {
if (!isAllowed(req.url)) {
if (!req.user) {
return render();
} else {

Loading…
Cancel
Save