1.2.1 • Published 8 years ago
easy-session-file-store v1.2.1
session-file-store
Session file store for Express and Connect. Also you can use it with Koa
Session file store is a provision for storing session data in the session file
Compatibility
- Supports Express
>= 4.xand Connect>= 1.4.0through express-session - Supports Node.js
>= 4 - Indirectly supports Koa
>= 0.9.0through express-session
Getting Started
Installation
$ npm install easy-session-file-storeRunning Tests
$ npm install
$ npm testOptions
pathThe directory where the session files will be stored. Defaults to./sessionsttlSession time to live in seconds. Defaults to3600retriesThe number of retries to get session data from a session file. Defaults to5factorThe exponential factor to use for retry. Defaults to1minTimeoutThe number of milliseconds before starting the first retry. Defaults to50maxTimeoutThe maximum number of milliseconds between two retries. Defaults to100reapIntervalObjectOUT Contains intervalObject if reap was scheduledreapIntervalInterval to clear expired sessions in seconds or -1 if do not need. Defaults to1 hourreapAsyncuse distinct worker process for removing stale sessions. Defaults tofalsereapSyncFallbackreap stale sessions synchronously if can not do it asynchronously. Default tofalselogFnlog messages. Defaults toconsole.logfallbackSessionFnreturns fallback session object after all failed retries. No defaultssecretif secret string is specified then enables encryption of the session before writing the file and also decryption when reading it.encryptEncodingEncryption output encoding. Defaults to'hex'encodingObject-to-text text encoding. Can be null. Defaults to'utf8'encoderEncoding function. Takes object, returns encoded data. Defaults toJSON.stringifydecoderDecoding function. Takes encoded data, returns object. Defaults toJSON.parsefileExtensionFile extension of saved files. Defaults to'.json'keyFunctionEncryption key retrieval function. Takes secret and session id, returns key. Defaults tofunction(secret, sessionId){return secret + sessionId;}
Usage
Express or Connect integration
Due to express >= 4 changes, we need to pass express-session to the function easy-session-file-store exports in order to extend session.Store:
var session = require('express-session');
var FileStore = require('easy-session-file-store')(session);
app.use(session({
store: new FileStore(options),
secret: 'keyboard cat'
}));