UNPKG

@tlrg/middleware-js

Version:
33 lines (23 loc) 872 B
var _ = require('lodash'); function getFeatureSwitches(request, response, next) { var config = request.app.get('config') || {}; var clonedConfig = _.cloneDeep(config.featureSwitches); request.params = request.params || {}; var queries = request.query || {}; var cookies = request.cookies || {}; Object.keys(clonedConfig).forEach(function (key) { if (queries[key]) { var value = queries[key] === 'true'; clonedConfig[key] = value; response.cookie(key, value, { domain: '.' + request.moonstick.domain }); } else if (cookies[key]) { clonedConfig[key] = cookies[key] === 'true'; } }); request.moonstick = request.moonstick || {}; request.moonstick.featureSwitches = clonedConfig; next(); } module.exports = getFeatureSwitches;