exports.register = function (server, options, next) { server.dependency('vision'); var cache = server.cache({ expiresIn: 30 * 1000, generateFunc: function (id, next) { server.render(id.template, id.context, id.options, function(err, rendered){ next(null rendered); }) } }); server.decorate('reply', 'viewCache', function (template, context, options) { var id = JSON.stringify({template: template, context:context, options: options}); // I would recommend to shorten key somehow using some good checksum return this.response(cache.get({id:id, template: template, context: context, options:options})); }); return next(); }; exports.register.attributes = { pkg: require('../package.json') };