3 * Connect - session - Store
4 * Copyright(c) 2010 Sencha Inc.
5 * Copyright(c) 2011 TJ Holowaychuk
10 * Module dependencies.
13 var Session = require('./session')
14 , Cookie = require('./cookie')
15 , utils = require('../../utils');
18 * Initialize abstract `Store`.
23 var Store = module.exports = function Store(options){};
26 * Re-generate the given requests's session.
28 * @param {IncomingRequest} req
29 * @return {Function} fn
33 Store.prototype.regenerate = function(req, fn){
35 this.destroy(req.sessionID, function(err){
42 * Create session from JSON `sess` data.
44 * @param {IncomingRequest} req
45 * @param {Object} sess
50 Store.prototype.createSession = function(req, sess){
51 var expires = sess.cookie.expires
52 , orig = sess.cookie.originalMaxAge;
53 sess.cookie = new Cookie(sess.cookie);
54 if ('string' == typeof expires) sess.cookie.expires = new Date(expires);
55 sess.cookie.originalMaxAge = orig;
56 req.session = new Session(req, sess);
57 req.session.resetLastAccess();