connect-redis
Advanced tools
+5
-14
@@ -5,17 +5,8 @@ { | ||
| }, | ||
| "extends": "eslint:recommended", | ||
| "rules": { | ||
| "curly": 0, | ||
| "strict": 0, | ||
| "camelcase": 0, | ||
| "quotes": [1, "single"], | ||
| "no-multi-spaces": 0, | ||
| "semi": 1, | ||
| "no-proto": 0, | ||
| "no-process-exit": 0, | ||
| "no-unused-vars": 1, | ||
| "no-undef": 2, | ||
| "eol-last": 0, | ||
| "consistent-return": 0, | ||
| "no-underscore-dangle": 0 | ||
| "semi": 2, | ||
| "quotes": [2, "single"], | ||
| "no-console": 0 | ||
| } | ||
| } | ||
| } |
+5
-0
| 3.0.0 / 2015-10-03 | ||
| ================== | ||
| * Update node_redis to 2.0, reinstate `url` option [fintura] | ||
| 2.5.1 / 2015-09-18 | ||
@@ -3,0 +8,0 @@ ================== |
+4
-17
@@ -57,2 +57,3 @@ /*! | ||
| options = options || {}; | ||
| options.max_attempts = 2; | ||
| Store.call(this, options); | ||
@@ -67,18 +68,4 @@ this.prefix = options.prefix == null | ||
| if (options.url) { | ||
| console.error('Warning: "url" param is deprecated and will be removed in a later release: use redis-url module instead'); | ||
| var url = require('url').parse(options.url); | ||
| if (url.protocol === 'redis:') { | ||
| if (url.auth) { | ||
| var userparts = url.auth.split(':'); | ||
| options.user = userparts[0]; | ||
| if (userparts.length === 2) { | ||
| options.pass = userparts[1]; | ||
| } | ||
| } | ||
| options.host = url.hostname; | ||
| options.port = url.port; | ||
| if (url.pathname) { | ||
| options.db = url.pathname.replace('/', '', 1); | ||
| } | ||
| } | ||
| options.port = options.url; | ||
| options.host = options; | ||
| } | ||
@@ -243,3 +230,3 @@ | ||
| if (!fn) fn = noop; | ||
| if (store.disableTTL) return fn() | ||
| if (store.disableTTL) return fn(); | ||
@@ -246,0 +233,0 @@ var ttl = getTTL(store, sess); |
+6
-6
| { | ||
| "name": "connect-redis", | ||
| "description": "Redis session store for Connect", | ||
| "version": "2.5.1", | ||
| "version": "3.0.0", | ||
| "author": "TJ Holowaychuk <tj@vision-media.ca>", | ||
@@ -16,4 +16,4 @@ "contributors": [ | ||
| "dependencies": { | ||
| "debug": "^1.0.4", | ||
| "redis": "^0.12.1" | ||
| "debug": "^2.2.0", | ||
| "redis": "^2.0.1" | ||
| }, | ||
@@ -23,7 +23,7 @@ "devDependencies": { | ||
| "bluebird": "^2.3.2", | ||
| "eslint": "^0.9.2", | ||
| "eslint": "^1.6.0", | ||
| "express-session": "^1.9.1", | ||
| "ioredis": "^1.7.5", | ||
| "istanbul": "^0.3.2", | ||
| "tape": "^3.0.3" | ||
| "tape": "^4.2.1" | ||
| }, | ||
@@ -39,4 +39,4 @@ "engines": { | ||
| "bench": "node bench/redisbench.js", | ||
| "lint": "eslint --reset index.js test lib bench" | ||
| "lint": "eslint index.js test lib bench" | ||
| } | ||
| } |
+16
-24
@@ -1,16 +0,23 @@ | ||
| # Connect Redis | ||
| [](https://npmjs.com/package/connect-redis) [](https://david-dm.org/tj/connect-redis)  | ||
| connect-redis is a Redis session store backed by [node_redis](http://github.com/mranney/node_redis), and is insanely fast :). Requires redis >= `2.0.0` for the _SETEX_ command. | ||
| **connect-redis** is a Redis session store backed by [node_redis](http://github.com/mranney/node_redis), and is insanely fast :). Requires redis >= `2.0.0` for the _SETEX_ command. | ||
| ## Installation | ||
| ## Setup | ||
| $ npm install connect-redis | ||
| ```sh | ||
| npm install connect-redis express-session | ||
| ``` | ||
| ### A note for Express 3.x users | ||
| Pass the `express-session` store into `connect-redis` to create a `RedisStore` constructor. | ||
| In order to use the latest `connect-redis` you also have to use [`express-session`](https://github.com/expressjs/session) instead of the default connect `session` middleware. | ||
| ```js | ||
| var session = require('express-session'); | ||
| var RedisStore = require('connect-redis')(session); | ||
| $ npm install express-session | ||
| app.use(session({ | ||
| store: new RedisStore(options), | ||
| secret: 'keyboard cat' | ||
| })); | ||
| ``` | ||
| Then follow the usage instructions below. | ||
@@ -24,2 +31,3 @@ ## Options | ||
| - `socket` Redis server unix_socket | ||
| - `url` Redis server url | ||
@@ -38,14 +46,2 @@ The following additional params may be included: | ||
| ## Usage | ||
| Pass the `express-session` store into `connect-redis` to create a `RedisStore` constructor. | ||
| var session = require('express-session'); | ||
| var RedisStore = require('connect-redis')(session); | ||
| app.use(session({ | ||
| store: new RedisStore(options), | ||
| secret: 'keyboard cat' | ||
| })); | ||
| ## Custom Redis clients | ||
@@ -59,6 +55,2 @@ | ||
| #### Can I use a URL scheme to make a connection? | ||
| Since `node_redis` which this library wraps does not include the ability to create a client from a URL. Neither does this library. However, there's a [separate module](https://github.com/ddollar/redis-url) that can be used in conjunction to get this behavior. | ||
| #### How do I handle lost connections to Redis? | ||
@@ -65,0 +57,0 @@ |
@@ -34,3 +34,3 @@ var P = require('bluebird'); | ||
| store.client.end(); | ||
| return redisSrv.disconnect() | ||
| return redisSrv.disconnect(); | ||
| }); | ||
@@ -58,3 +58,3 @@ } | ||
| var client = redis.createClient(8543, 'localhost'); | ||
| var store = new RedisStore({ client: client }) | ||
| var store = new RedisStore({ client: client }); | ||
| return lifecycleTest(store, t); | ||
@@ -65,3 +65,3 @@ }); | ||
| var client = ioRedis.createClient(8543, 'localhost'); | ||
| var store = new RedisStore({ client: client }) | ||
| var store = new RedisStore({ client: client }); | ||
| return lifecycleTest(store, t); | ||
@@ -90,7 +90,7 @@ }); | ||
| t.equal(socketStore.client.address, 'word', 'sets socket address'); | ||
| socketStore.client.end() | ||
| socketStore.client.end(); | ||
| var hostNoPort = new RedisStore({ host: 'host' }); | ||
| t.equal(hostNoPort.client.address, 'host:6379', 'sets default port'); | ||
| hostNoPort.client.end() | ||
| hostNoPort.client.end(); | ||
@@ -102,6 +102,5 @@ return lifecycleTest(store, t); | ||
| var store = P.promisifyAll(new RedisStore({ port: 8543 })); | ||
| return store.setAsync('123', { cookie: { maxAge: 2000 }, name: 'tj' }) | ||
| .catch(function (er) { | ||
| t.ok(/failed/.test(er.message), 'failed connection'); | ||
| t.ok(/broken/.test(er.message), 'failed connection'); | ||
| store.client.end(); | ||
@@ -120,6 +119,6 @@ }); | ||
| t.equal(serializer.stringify('UnitTest'), 'XXX"UnitTest"'); | ||
| t.equal(serializer.parse(serializer.stringify("UnitTest")), 'UnitTest'); | ||
| t.equal(serializer.parse(serializer.stringify('UnitTest')), 'UnitTest'); | ||
| var store = new RedisStore({ port: 8543, serializer: serializer }); | ||
| return lifecycleTest(store, t); | ||
| return lifecycleTest(store, t); | ||
| }); |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
17554
-5.03%338
-3.7%72
-10%+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
Updated
Updated