获取快速编码的cookie作为标题值

请参阅通信描述

  1. 客户端— POST /login(没有cookie)—>节点服务器
  2. Node Server —>'set-cookie':'…' – > Client(设置cookie并将其用于下一个请求)

在第一个请求发送给客户端之前,我怎样才能得到设置为set-cookie头的cookie的编码值?

Express 3.x,cookieParser,expression式会话和一个mongo作为存储被使用。

我试过了:

  1. 访问req.cookies但不填充第一个请求,因为客户端还没有一个cookie。
  2. res.getHeader('set-cookie')返回undefined也许是因为它是在express-session调用express express handler之后设置的。

在服务器端,即使request.cookie为空,我如何才能访问我的处理程序中的set-cookie头或响应对象中的cookie值?

大约一年之后,但是你无法访问的原因是express-session和其他中间件使用了一个名为onHeaders的包,它在响应即将写入头文件时执行一个监听器。

所以你也必须使用它来修改标题

 var onHeaders = require('on-headers') onHeaders(res, function(){ // knock yourself out console.log(res.getHeader('set-cookie')); }); 

监听器是以相反的顺序触发的,所以为了让代码中的代码(监听器)必须尽快得到这个值。