Skip to content

Commit 6da2fef

Browse files
authored
Merge branch 'v2' into secret_session
2 parents dbf498f + 8e18762 commit 6da2fef

File tree

6 files changed

+21
-41
lines changed

6 files changed

+21
-41
lines changed

.eslintrc.yml

+4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@ plugins:
66
overrides:
77
- files: '**/*.md'
88
processor: 'markdown/markdown'
9+
env:
10+
es2022: true
11+
node: true
912
rules:
1013
eol-last: error
1114
eqeqeq: ["error", "always", { "null": "ignore" }]
1215
indent: ["error", 2, { "MemberExpression": "off", "SwitchCase": 1 }]
1316
no-mixed-spaces-and-tabs: error
1417
no-trailing-spaces: error
18+
no-unused-vars: [error, { vars: all, args: none, ignoreRestSiblings: true }]
1519
one-var: ["error", { "initialized": "never" }]

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ $ npm install express-session
1818
## API
1919

2020
```js
21-
var session = require('express-session')
21+
const session = require('express-session')
22+
23+
const app = express()
24+
app.use(session(/* options */))
2225
```
2326

2427
### session(options)

index.js

+4-15
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
* @private
1414
*/
1515

16-
var Buffer = require('safe-buffer').Buffer
1716
var cookie = require('cookie');
1817
var crypto = require('crypto')
1918
var debug = require('debug')('express-session');
@@ -56,16 +55,6 @@ var warning = 'Warning: connect.session() MemoryStore is not\n'
5655
+ 'designed for a production environment, as it will leak\n'
5756
+ 'memory, and will not scale past a single process.';
5857

59-
/**
60-
* Node.js 0.8+ async implementation.
61-
* @private
62-
*/
63-
64-
/* istanbul ignore next */
65-
var defer = typeof setImmediate === 'function'
66-
? setImmediate
67-
: function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) }
68-
6958
/**
7059
* Setup session store with the given `options`.
7160
*
@@ -237,7 +226,7 @@ function session(options) {
237226
try {
238227
setcookie(res, name, req.sessionID, secrets[0], req.session.cookie.data)
239228
} catch (err) {
240-
defer(next, err)
229+
setImmediate(next, err)
241230
}
242231
});
243232

@@ -307,7 +296,7 @@ function session(options) {
307296
debug('destroying');
308297
store.destroy(req.sessionID, function ondestroy(err) {
309298
if (err) {
310-
defer(next, err);
299+
setImmediate(next, err);
311300
}
312301

313302
debug('destroyed');
@@ -332,7 +321,7 @@ function session(options) {
332321
if (shouldSave(req)) {
333322
req.session.save(function onsave(err) {
334323
if (err) {
335-
defer(next, err);
324+
setImmediate(next, err);
336325
}
337326

338327
writeend();
@@ -344,7 +333,7 @@ function session(options) {
344333
debug('touching');
345334
store.touch(req.sessionID, req.session, function ontouch(err) {
346335
if (err) {
347-
defer(next, err);
336+
setImmediate(next, err);
348337
}
349338

350339
debug('touched');

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"depd": "~2.0.0",
1717
"on-headers": "~1.0.2",
1818
"parseurl": "~1.3.3",
19-
"safe-buffer": "5.2.1",
2019
"uid-safe": "~2.1.5"
2120
},
2221
"devDependencies": {

session/memory.js

+6-16
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,6 @@
1616
var Store = require('./store')
1717
var util = require('util')
1818

19-
/**
20-
* Shim setImmediate for node.js < 0.10
21-
* @private
22-
*/
23-
24-
/* istanbul ignore next */
25-
var defer = typeof setImmediate === 'function'
26-
? setImmediate
27-
: function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) }
28-
2919
/**
3020
* Module exports.
3121
*/
@@ -68,7 +58,7 @@ MemoryStore.prototype.all = function all(callback) {
6858
}
6959
}
7060

71-
callback && defer(callback, null, sessions)
61+
callback && setImmediate(callback, null, sessions)
7262
}
7363

7464
/**
@@ -80,7 +70,7 @@ MemoryStore.prototype.all = function all(callback) {
8070

8171
MemoryStore.prototype.clear = function clear(callback) {
8272
this.sessions = Object.create(null)
83-
callback && defer(callback)
73+
callback && setImmediate(callback)
8474
}
8575

8676
/**
@@ -92,7 +82,7 @@ MemoryStore.prototype.clear = function clear(callback) {
9282

9383
MemoryStore.prototype.destroy = function destroy(sessionId, callback) {
9484
delete this.sessions[sessionId]
95-
callback && defer(callback)
85+
callback && setImmediate(callback)
9686
}
9787

9888
/**
@@ -104,7 +94,7 @@ MemoryStore.prototype.destroy = function destroy(sessionId, callback) {
10494
*/
10595

10696
MemoryStore.prototype.get = function get(sessionId, callback) {
107-
defer(callback, null, getSession.call(this, sessionId))
97+
setImmediate(callback, null, getSession.call(this, sessionId))
10898
}
10999

110100
/**
@@ -118,7 +108,7 @@ MemoryStore.prototype.get = function get(sessionId, callback) {
118108

119109
MemoryStore.prototype.set = function set(sessionId, session, callback) {
120110
this.sessions[sessionId] = JSON.stringify(session)
121-
callback && defer(callback)
111+
callback && setImmediate(callback)
122112
}
123113

124114
/**
@@ -153,7 +143,7 @@ MemoryStore.prototype.touch = function touch(sessionId, session, callback) {
153143
this.sessions[sessionId] = JSON.stringify(currentSession)
154144
}
155145

156-
callback && defer(callback)
146+
callback && setImmediate(callback)
157147
}
158148

159149
/**

test/support/smart-store.js

+3-8
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@
33
var session = require('../../')
44
var util = require('util')
55

6-
/* istanbul ignore next */
7-
var defer = typeof setImmediate === 'function'
8-
? setImmediate
9-
: function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) }
10-
116
module.exports = SmartStore
127

138
function SmartStore () {
@@ -19,7 +14,7 @@ util.inherits(SmartStore, session.Store)
1914

2015
SmartStore.prototype.destroy = function destroy (sid, callback) {
2116
delete this.sessions[sid]
22-
defer(callback, null)
17+
setImmediate(callback, null)
2318
}
2419

2520
SmartStore.prototype.get = function get (sid, callback) {
@@ -45,10 +40,10 @@ SmartStore.prototype.get = function get (sid, callback) {
4540
}
4641
}
4742

48-
defer(callback, null, sess)
43+
setImmediate(callback, null, sess)
4944
}
5045

5146
SmartStore.prototype.set = function set (sid, sess, callback) {
5247
this.sessions[sid] = JSON.stringify(sess)
53-
defer(callback, null)
48+
setImmediate(callback, null)
5449
}

0 commit comments

Comments
 (0)