mirror of
https://github.com/zebrajr/express.git
synced 2025-12-06 12:19:51 +01:00
* add test for removing user provided expires
* rework impl and tests to ignore maxAge, do not set it
this is to take into account the built-in relative expires when passing
a maxAge to res.cookie
I realized that using maxAge to invalidate cookies inherrently hit this
relativee expires behavior, and the goal of this PR is not to rework
that relative expires behavior w/ maxAge, but to prevent users from
overwriting these values by accident when clearing cookies
* update history.md
* explicitly delete maxAge instead of setting as undefined
* drop the spread, use object.assign
* wording, review comment on history.md
Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
* ♻️ use spread, update supported ecmascript version
---------
Co-authored-by: Chris de Almeida <ctcpip@users.noreply.github.com>
63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
'use strict'
|
|
|
|
var express = require('../')
|
|
, request = require('supertest');
|
|
|
|
describe('res', function(){
|
|
describe('.clearCookie(name)', function(){
|
|
it('should set a cookie passed expiry', function(done){
|
|
var app = express();
|
|
|
|
app.use(function(req, res){
|
|
res.clearCookie('sid').end();
|
|
});
|
|
|
|
request(app)
|
|
.get('/')
|
|
.expect('Set-Cookie', 'sid=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT')
|
|
.expect(200, done)
|
|
})
|
|
})
|
|
|
|
describe('.clearCookie(name, options)', function(){
|
|
it('should set the given params', function(done){
|
|
var app = express();
|
|
|
|
app.use(function(req, res){
|
|
res.clearCookie('sid', { path: '/admin' }).end();
|
|
});
|
|
|
|
request(app)
|
|
.get('/')
|
|
.expect('Set-Cookie', 'sid=; Path=/admin; Expires=Thu, 01 Jan 1970 00:00:00 GMT')
|
|
.expect(200, done)
|
|
})
|
|
|
|
it('should ignore maxAge', function(done){
|
|
var app = express();
|
|
|
|
app.use(function(req, res){
|
|
res.clearCookie('sid', { path: '/admin', maxAge: 1000 }).end();
|
|
});
|
|
|
|
request(app)
|
|
.get('/')
|
|
.expect('Set-Cookie', 'sid=; Path=/admin; Expires=Thu, 01 Jan 1970 00:00:00 GMT')
|
|
.expect(200, done)
|
|
})
|
|
|
|
it('should ignore user supplied expires param', function(done){
|
|
var app = express();
|
|
|
|
app.use(function(req, res){
|
|
res.clearCookie('sid', { path: '/admin', expires: new Date() }).end();
|
|
});
|
|
|
|
request(app)
|
|
.get('/')
|
|
.expect('Set-Cookie', 'sid=; Path=/admin; Expires=Thu, 01 Jan 1970 00:00:00 GMT')
|
|
.expect(200, done)
|
|
})
|
|
})
|
|
})
|