From 1c1cfc1f9cd083f736ae4176af9aa47bceee08bc Mon Sep 17 00:00:00 2001 From: Tony Kovanen Date: Mon, 3 Feb 2014 02:33:14 +0200 Subject: [PATCH] Using url parameter for communicating the need for base64 instead of upgrade packet for WebSocket --- engine.io.js | 7 ++++--- lib/socket.js | 4 +--- lib/transports/websocket.js | 3 +++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/engine.io.js b/engine.io.js index 4ee0c18e..ace69e9e 100644 --- a/engine.io.js +++ b/engine.io.js @@ -303,9 +303,7 @@ Socket.prototype.probe = function (name) { transport.removeListener('error', onerror); self.emit('upgrade', transport); self.setTransport(transport); - var upgradePacket = { type: 'upgrade' }; - if (!transport.supportsBinary) { upgradePacket.data = 'b64' }; - transport.send([upgradePacket]); + transport.send([{ type: 'upgrade' }]); transport = null; self.upgrading = false; self.flush(); @@ -2106,6 +2104,9 @@ WS.prototype.uri = function(){ query[this.timestampParam] = +new Date; } + // communicate binary support capabilities + if (!this.supportsBinary) { query.b64 = 1; } + query = util.qs(query); // prepend ? to query diff --git a/lib/socket.js b/lib/socket.js index 31fe40de..eb29d274 100644 --- a/lib/socket.js +++ b/lib/socket.js @@ -247,9 +247,7 @@ Socket.prototype.probe = function (name) { transport.removeListener('error', onerror); self.emit('upgrade', transport); self.setTransport(transport); - var upgradePacket = { type: 'upgrade' }; - if (!transport.supportsBinary) { upgradePacket.data = 'b64' }; - transport.send([upgradePacket]); + transport.send([{ type: 'upgrade' }]); transport = null; self.upgrading = false; self.flush(); diff --git a/lib/transports/websocket.js b/lib/transports/websocket.js index 84d96970..bf62af08 100644 --- a/lib/transports/websocket.js +++ b/lib/transports/websocket.js @@ -198,6 +198,9 @@ WS.prototype.uri = function(){ query[this.timestampParam] = +new Date; } + // communicate binary support capabilities + if (!this.supportsBinary) { query.b64 = 1; } + query = util.qs(query); // prepend ? to query