index.js
function NodeSession(config, encrypter) {
    var defaults = {
        'driver': 'file',
        'lifetime': 300000, // five minutes
        'expireOnClose': false,
        'files': process.cwd()+'/sessions',
        'connection': false,
        'table': 'sessions',
        'lottery': [2, 100],
        'cookie': 'node_session',
        'path': '/',
        'domain': null,
        'secure': false,
        'httpOnly': true,
        'encrypt': false
    };

    /**
     * The Session configuration
     *
     * @type {Object}
     * @private
     */
    this.__config = _.merge(defaults, config);

    if(this.__config.trustProxy && !this.__config.trustProxyFn) {
        this.__config.trustProxyFn = util.compileTrust(this.__config.trustProxy)
    }

    /**
     * The session manager instance
     * @type {SessionManager}
     * @private
     */
    this.__manager = new SessionManager(this.__config, encrypter);

    if (!this.__config.secret) {
        throw new Error('secret option required for sessions');
    }
}
function NodeSession(config, encrypter) {
    var defaults = {
        'driver': 'file',
        'lifetime': 300000, // five minutes
        'expireOnClose': false,
        'files': process.cwd()+'/sessions',
        'connection': false,
        'table': 'sessions',
        'lottery': [2, 100],
        'cookie': 'node_session',
        'path': '/',
        'domain': null,
        'secure': false,
        'httpOnly': true,
        'encrypt': false
    };

    /**
     * The Session configuration
     *
     * @type {Object}
     * @private
     */
    this.__config = _.merge(defaults, config);

    if(this.__config.trustProxy && !this.__config.trustProxyFn) {
        this.__config.trustProxyFn = util.compileTrust(this.__config.trustProxy)
    }

    /**
     * The session manager instance
     * @type {SessionManager}
     * @private
     */
    this.__manager = new SessionManager(this.__config, encrypter);

    if (!this.__config.secret) {
        throw new Error('secret option required for sessions');
    }
}
function NodeSession ( config , encrypter ) { var defaults = { 'driver' : 'file' , 'lifetime' : 300000 , // five minutes 'expireOnClose' : false , 'files' : process . cwd ( ) + '/sessions' , 'connection' : false , 'table' : 'sessions' , 'lottery' : [ 2 , 100 ] , 'cookie' : 'node_session' , 'path' : '/' , 'domain' : null , 'secure' : false , 'httpOnly' : true , 'encrypt' : false } ; /**
     * The Session configuration
     *
     * @type {Object}
     * @private
     */ this . __config = _ . merge ( defaults , config ) ; if ( this . __config . trustProxy && ! this . __config . trustProxyFn ) { this . __config . trustProxyFn = util . compileTrust ( this . __config . trustProxy ) } /**
     * The session manager instance
     * @type {SessionManager}
     * @private
     */ this . __manager = new SessionManager ( this . __config , encrypter ) ; if ( ! this . __config . secret ) { throw new Error ( 'secret option required for sessions' ) ; } }
Create a new NodeSession instance

@param {Object} config - session configuration object
@param {Object | void} encrypter
@constructor
Create a new NodeSession instance