cache session middlewares
This commit is contained in:
parent
fb529794df
commit
0a9172d3a7
|
@ -10,22 +10,27 @@ import { HOUR, COOKIE_SESSION_NAME } from './constants';
|
|||
import { SESSION_SECRET } from './config';
|
||||
|
||||
|
||||
export const store = new RedisStore({ client });
|
||||
const middlewareStore = {};
|
||||
|
||||
export default (req, res, next) => {
|
||||
const domain = getHostFromRequest(req, false, true);
|
||||
const sess = session({
|
||||
name: COOKIE_SESSION_NAME,
|
||||
store,
|
||||
secret: SESSION_SECRET,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: {
|
||||
domain,
|
||||
httpOnly: true,
|
||||
secure: false,
|
||||
maxAge: 30 * 24 * HOUR,
|
||||
},
|
||||
});
|
||||
let sess = middlewareStore[domain];
|
||||
if (!sess) {
|
||||
const store = new RedisStore({ client });
|
||||
sess = session({
|
||||
name: COOKIE_SESSION_NAME,
|
||||
store,
|
||||
secret: SESSION_SECRET,
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: {
|
||||
domain,
|
||||
httpOnly: true,
|
||||
secure: false,
|
||||
maxAge: 30 * 24 * HOUR,
|
||||
},
|
||||
});
|
||||
middlewareStore[domain] = sess;
|
||||
}
|
||||
return sess(req, res, next);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user