From b4ad7bb7f778ec49089abd15ae6ee0bd94f9b586 Mon Sep 17 00:00:00 2001 From: George Field Date: Tue, 7 Nov 2017 20:14:14 +0000 Subject: [PATCH] Fix compatibility with updated ws dependency. --- lib/proxy.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/proxy.js b/lib/proxy.js index d3e5f18..980a589 100644 --- a/lib/proxy.js +++ b/lib/proxy.js @@ -506,7 +506,7 @@ Proxy.prototype._onError = function(kind, ctx, err) { } }; -Proxy.prototype._onWebSocketServerConnect = function(isSSL, ws) { +Proxy.prototype._onWebSocketServerConnect = function(isSSL, ws, upgradeReq) { var self = this; var ctx = { isSSL: isSSL, @@ -580,14 +580,14 @@ Proxy.prototype._onWebSocketServerConnect = function(isSSL, ws) { ctx.clientToProxyWebSocket.on('close', self._onWebSocketClose.bind(self, ctx, false)); ctx.clientToProxyWebSocket.pause(); var url; - if (ctx.clientToProxyWebSocket.upgradeReq.url == '' || /^\//.test(ctx.clientToProxyWebSocket.upgradeReq.url)) { - var hostPort = Proxy.parseHostAndPort(ctx.clientToProxyWebSocket.upgradeReq); - url = (ctx.isSSL ? 'wss' : 'ws') + '://' + hostPort.host + (hostPort.port ? ':' + hostPort.port : '') + ctx.clientToProxyWebSocket.upgradeReq.url; + if (upgradeReq.url == '' || /^\//.test(upgradeReq.url)) { + var hostPort = Proxy.parseHostAndPort(upgradeReq); + url = (ctx.isSSL ? 'wss' : 'ws') + '://' + hostPort.host + (hostPort.port ? ':' + hostPort.port : '') + upgradeReq.url; } else { - url = ctx.clientToProxyWebSocket.upgradeReq.url; + url = upgradeReq.url; } var ptosHeaders = {}; - var ctopHeaders = ctx.clientToProxyWebSocket.upgradeReq.headers; + var ctopHeaders = upgradeReq.headers; for (var key in ctopHeaders) { if (key.indexOf('sec-websocket') !== 0) { ptosHeaders[key] = ctopHeaders[key];