import { getUserLanguage } from './language'; import nconf from 'nconf'; const MAINTENANCE_MODE = nconf.get('MAINTENANCE_MODE'); module.exports = function maintenanceMode (req, res, next) { if (MAINTENANCE_MODE !== 'true') return next(); getUserLanguage(req, res, (err) => { if (err) return next(err); let pageVariables = { maintenanceStart: nconf.get('MAINTENANCE_START'), maintenanceEnd: nconf.get('MAINTENANCE_END'), translation: res.t, }; if (req.headers && req.headers.accept && req.headers.accept.indexOf('text/html') !== -1) { if (req.path === '/views/static/maintenance-info') { return res.status(503).render('../../views/static/maintenance-info', pageVariables); } else { return res.status(503).render('../../views/static/maintenance', pageVariables); } } else { return res.status(503).send({ error: 'Maintenance', message: 'Server offline for maintenance.', }); } }); };