From ef31c2891a4e57afcf2443205499a001149195bc Mon Sep 17 00:00:00 2001 From: dead-horse Date: Tue, 9 Jan 2018 17:41:49 +0800 Subject: [PATCH] feat: listen session events and warn --- app.js | 11 +++++++++++ package.json | 2 +- test/app/middleware/session.test.js | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index 2c39c58..efffc5a 100644 --- a/app.js +++ b/app.js @@ -2,4 +2,15 @@ module.exports = function(app) { app.config.coreMiddleware.push('session'); + + // listen on session's events + app.on('session:missed', ({ ctx, key }) => { + ctx.coreLogger.warn('[session][missed] key(%s)', key); + }); + app.on('session:expired', ({ ctx, key, value }) => { + ctx.coreLogger.warn('[session][expired] key(%s) value(%j)', key, value); + }); + app.on('session:invalid', ({ ctx, key, value }) => { + ctx.coreLogger.warn('[session][invalid] key(%s) value(%j)', key, value); + }); }; diff --git a/package.json b/package.json index 97a3127..3e232e4 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "cookie" ], "dependencies": { - "koa-session": "^5.5.0" + "koa-session": "^5.7.0" }, "devDependencies": { "autod": "^2.10.1", diff --git a/test/app/middleware/session.test.js b/test/app/middleware/session.test.js index cbaa2a1..1ee8203 100644 --- a/test/app/middleware/session.test.js +++ b/test/app/middleware/session.test.js @@ -74,6 +74,23 @@ describe('test/app/middlewares/session.test.js', () => { }); after(() => app.close()); + if (name === 'redis-session') { + it('should get with ', function* () { + yield agent + .get('/set?foo=bar') + .expect(200) + .expect({ foo: 'bar' }) + .expect('set-cookie', /EGG_SESS=.*?;/); + + mm.empty(app.redis, 'get'); + + yield agent + .get('/get') + .expect(200) + .expect({}); + }); + } + it('should get empty session and do not set cookie when session not populated', function* () { yield agent .get('/get')