module.exports = function (app) { var conf; // Depends on cantina-web. app.require('cantina-web'); // Default conf. app.conf.add({ session: { weight: -300, redis: true, key: "sess", cookie: { httpOnly: true, path: '/' } } }); // Get conf. conf = app.conf.get('session'); if (conf) { // If app is using redis, save sessions there. if (app.redis && conf.redis) { app.sessions = modeler({ name: 'sessions', prefix: app.redisKey('sess') + ':', client: app.redis }); conf.sessions = app.sessions; } app.sessionHandler = sess(conf); app.middleware.add(conf.weight, app.sessionHandler); } };
var modeler = require('modeler-redis') , client = require('redis').createClient() , middler = require('middler') , server = require('http').createServer() // create a modeler-redis collection for sessions var sessions = modeler({ name: 'sessions', prefix: 'myapp:', client: client }); // pass that to sess var sess = require('../')({ sessions: sessions }); // use as middleware middler(server) .add(sess) .add(function (req, res, next) { // req.session now available // also req.sessionID })