如何设置与Twilio和节点HTTP Cookie?

我正在尝试使用cookie来跟踪与我的节点应用程序的短信交谈,但他们似乎从来没有得到正确的设置。 至less,当我在用户的下一个文本中检索它们时,它们仍然是空的。

我有这个函数设置一个cookie并发送一个响应给用户:

function requestLocation (res, resend) { var locationXml = ""; ... var responseText = ""; ... var response = new twilio.TwimlResponse(); response.sms(responseText); res.cookie('rideStage', rideStages.SENT_REQUEST); res.send(response.toString(), { 'Content-Type':'text/xml' }, 200); } 

但是,当我收到来自该用户的下一条消息时,“request.cookies.rideStage”始终为空。 我也试过replace

 res.cookie('rideStage', rideStages.SENT_REQUEST); res.send(response.toString(), { 'Content-Type':'text/xml' }, 200); 

 res.send(response.toString(), { 'Set-Cookie':'rideStage='+rideStages.SENT_REQUEST, 'Content-Type':'text/xml' }, 200); 

但是request.cookies.rideStage仍然是空的。

对于任何人看到这个,我上面发布的其实是正确的。

通过做:res.cookie('cookieName',cookieVal);

然后你可以使用:req.cookies.cookieName

得到cookieVal。 它不是为我工作的原因是因为我只是在本地testing我的应用程序,并在terminal中模拟curl的文本,从整个过程(哎呀)完全排除Twilio和cookie处理。

为了好奇,我们还收到了一篇关于使用Cookie跟踪短信会话的博客文章 。

如果你想在Node中尝试一下,可以开始使用帮助程序库,但是不要忘记使用类似ngrok的东西来允许Twilio查看你的应用程序。