code: 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');
      }
  }
docs: Create a new NodeSession instance
  
  @param {Object} config - session configuration object
  @param {Object | void} encrypter
  @constructor