2015-02-22 2 views
4

Я пытаюсь использовать файлы cookie для отслеживания SMS-сообщений с помощью моего приложения-узла, но они, похоже, не установлены правильно. По крайней мере, когда я получаю их в следующем тексте от пользователя, они по-прежнему равны нулю.Как установить HTTP-файлы cookie с Twilio и Node?

У меня есть эта функция, где она устанавливает куки и отправляет ответ пользователю:

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 "всегда равно нулю. Я также попытался заменить

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 еще пустой.

ответ

3

Для всех, кто видит это, то, что я разместил выше, действительно является правильным.

Выполнение: res.cookie ('cookieName', cookieVal);

Вы можете использовать: req.cookies.cookieName

получить cookieVal. Причина, по которой он не работал для меня, заключается в том, что я просто тестировал свое приложение локально и моделировал текст с завитом в терминале, что полностью исключало обработку Twilio и cookie из всего процесса (крики).

0

Для любопытных мы также получили blog post о отслеживании SMS-сообщений с куки-файлами.

И если вы хотите попробовать в Node, начните с helper library, но не забудьте использовать что-то вроде ngrok, чтобы Twilio мог видеть ваше приложение.

Смежные вопросы