mirror of
https://github.com/hanzoai/session.git
synced 2026-09-24 17:02:35 +00:00
Fix handling errors from setting cookie
This commit is contained in:
@@ -2,6 +2,7 @@ unreleased
|
||||
==========
|
||||
|
||||
* Add `priority` to `cookie` options
|
||||
* Fix handling errors from setting cookie
|
||||
* Support any type in `secret` that `crypto.createHmac` supports
|
||||
* deps: cookie@0.5.0
|
||||
- Fix `expires` option to reject invalid dates
|
||||
|
||||
@@ -240,7 +240,11 @@ function session(options) {
|
||||
}
|
||||
|
||||
// set cookie
|
||||
setcookie(res, name, req.sessionID, secrets[0], req.session.cookie.data);
|
||||
try {
|
||||
setcookie(res, name, req.sessionID, secrets[0], req.session.cookie.data)
|
||||
} catch (err) {
|
||||
defer(next, err)
|
||||
}
|
||||
});
|
||||
|
||||
// proxy end() to commit the session
|
||||
|
||||
@@ -1945,6 +1945,23 @@ describe('session()', function(){
|
||||
.expect(200, done)
|
||||
})
|
||||
|
||||
it('should forward errors setting cookie', function (done) {
|
||||
var cb = after(2, done)
|
||||
var server = createServer({ cookie: { expires: new Date(NaN) } }, function (req, res) {
|
||||
res.end()
|
||||
})
|
||||
|
||||
server.on('error', function onerror (err) {
|
||||
assert.ok(err)
|
||||
assert.strictEqual(err.message, 'option expires is invalid')
|
||||
cb()
|
||||
})
|
||||
|
||||
request(server)
|
||||
.get('/admin')
|
||||
.expect(200, cb)
|
||||
})
|
||||
|
||||
it('should preserve cookies set before writeHead is called', function(done){
|
||||
var server = createServer(null, function (req, res) {
|
||||
var cookie = new Cookie()
|
||||
|
||||
Reference in New Issue
Block a user