diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index a9649d5f82..13ef6c72fd 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -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