@@ -20,23 +20,24 @@ const cookieOpt = (cookie) => {
2020}
2121
2222const deleteSession = ( ctx , key , cookie , store , sid ) => {
23- const deleteOption = Object . assign ( { } , cookie )
24- delete deleteOption . maxAge
25- ctx . cookies . set ( key , null , deleteOption )
23+ const options = cookie instanceof Function ? cookieOpt ( cookie ( ctx ) ) : Object . assign ( { } , cookie )
24+ delete options . maxAge
25+ ctx . cookies . set ( key , null , options )
2626 store . destroy ( `${ key } :${ sid } ` )
2727}
2828
2929const saveSession = ( ctx , key , cookie , store , sid ) => {
30- const ttl = cookie . maxAge > 0 ? cookie . maxAge : ONE_DAY
31- ctx . cookies . set ( key , sid , cookie )
30+ const options = cookie instanceof Function ? cookieOpt ( cookie ( ctx ) ) : cookie
31+ const ttl = options . maxAge > 0 ? options . maxAge : ONE_DAY
32+ ctx . cookies . set ( key , sid , options )
3233 store . set ( `${ key } :${ sid } ` , ctx . session , ttl )
3334}
3435
3536module . exports = ( options ) => {
3637 const opt = options || { }
3738 const key = opt . key || 'koa:sess'
3839 const store = new Store ( opt . store || new MemoryStore ( ) )
39- const defaultCookie = opt . cookie instanceof Function ? opt . cookie : cookieOpt ( opt . cookie )
40+ const cookie = opt . cookie instanceof Function ? opt . cookie : cookieOpt ( opt . cookie )
4041
4142 return async ( ctx , next ) => { // eslint-disable-line arrow-parens
4243 // initialize session id and data
@@ -64,7 +65,6 @@ module.exports = (options) => {
6465
6566 await next ( )
6667
67- const cookie = defaultCookie instanceof Function ? cookieOpt ( defaultCookie ( ctx ) ) : defaultCookie
6868 const sessionHasData = ctx . session && Object . keys ( ctx . session ) . length
6969
7070 if ( sid !== cookieSid ) { // a new session id
0 commit comments