这是您的工作:
- 编写一个您的应用可以代替默认express.session中间件使用的中间件
- 在该中间件中,基于
host
请求标头对每个域在Express Session中间件的实例上进行实例化和配置,然后实际执行适合此请求的中间件功能
伪码
var mwCache = Object.create(null);function virtualHostSession(req, res, next) { var host = req.get('host'); //maybe normalize with toLowerCase etc var hostSession = mwCache[host]; if (!hostSession) { hostSession = mwCache[host] = express.session(..config for this host...); } hostSession(req, res, next); //don't need to call next since hostSession will do it for you}app.use(virtualHostSession);
我的请求是高度异步的,如果仅在每次请求时都为整个应用设置它,我担心当同时有两个调用进入时,它可能无法正常工作。
绝对不能那样做。这将是完全错误的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)