user3828771
user3828771

Reputation: 1663

nodejs - how to get cookie in ws (einaros)

In socketio, I can easily get cookie with socket.handshake.headers.cookie. How could I do the same thing in ws?

Upvotes: 2

Views: 3871

Answers (2)

Jon Hulka
Jon Hulka

Reputation: 1309

I was using client.upgradeReq.headers.cookie, but that broke suddenly. I found cookies at request.headers.cookie:

wss.on('connection', function connection(client, request))
{
  ...
  var cookies = {};
  //Not working any more
  //if(client.upgradeReq.headers.cookie) request.headers.cookie.split(';')...
  //This works
  if(request.headers.cookie) request.headers.cookie.split(';').forEach(function(cookie)
  {
    var parts = cookie.match(/(.*?)=(.*)$/);
    var name = parts[1].trim();
    var value = (parts[2] || '').trim();
    cookies[ name ] = value;
  });
  ...

Upvotes: 3

Lewis
Lewis

Reputation: 14866

You can try this one: ws.upgradeReq.headers.cookie.

Upvotes: 6

Related Questions