var _ = require('lodash'), express = require('express'), path = require('path'), api = require('../api'), config = require('../config'), utils = require('../utils'); function isBlackListedFileType(file) { var blackListedFileTypes = ['.hbs', '.md', '.json'], ext = path.extname(file); return _.contains(blackListedFileTypes, ext); } function forwardToExpressStatic(req, res, next) { api.settings.read({context: {internal: true}, key: 'activeTheme'}).then(function then(response) { var activeTheme = response.settings[0]; express['static'](path.join(config.paths.themePath, activeTheme.value), {maxAge: utils.ONE_YEAR_MS})(req, res, next); }); } function staticTheme() { return function blackListStatic(req, res, next) { if (isBlackListedFileType(req.url)) { return next(); } return forwardToExpressStatic(req, res, next); }; } module.exports = staticTheme;