From 17e9671ed6ea3083ea76e736cfd31891a5bf9b5d Mon Sep 17 00:00:00 2001 From: cgewecke Date: Fri, 8 May 2020 07:24:30 -0700 Subject: [PATCH 1/3] Add failing test for wss://user:password@localhost style urls --- test/e2e.contract.deploy.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/e2e.contract.deploy.js b/test/e2e.contract.deploy.js index b0834cc6e6e..fba81a99652 100644 --- a/test/e2e.contract.deploy.js +++ b/test/e2e.contract.deploy.js @@ -151,9 +151,10 @@ describe('contract.deploy [ @E2E ]', function() { describe('ws', function() { // Websockets extremely erratic for geth instamine... if (process.env.GETH_INSTAMINE) return; + var port; before(async function(){ - var port = utils.getWebsocketPort(); + port = utils.getWebsocketPort(); web3 = new Web3('ws://localhost:' + port); accounts = await web3.eth.getAccounts(); @@ -259,6 +260,10 @@ describe('contract.deploy [ @E2E ]', function() { done(); }) }) + + it('can connect over wss with username:password header', function(){ + const _web3 = new Web3('wss://usr:psswrd@localhost:' + port); + }); }); }); From 9be703de0cc2b19aa103a745b6e70bf46ee656c5 Mon Sep 17 00:00:00 2001 From: Vladyslav Leibenko Date: Fri, 8 May 2020 07:56:09 -0700 Subject: [PATCH 2/3] Bind btoa to window when context is not Node --- packages/web3-providers-ws/src/helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-providers-ws/src/helpers.js b/packages/web3-providers-ws/src/helpers.js index eff553bd9a4..dc138114247 100644 --- a/packages/web3-providers-ws/src/helpers.js +++ b/packages/web3-providers-ws/src/helpers.js @@ -18,7 +18,7 @@ if (isNode) { helpers = require('url').parse; } } else { - _btoa = btoa; + _btoa = btoa.bind(window); helpers = function(url) { return new URL(url); }; From 488b7c29cf10463112554bb0274aa6170aa03e74 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Fri, 8 May 2020 08:02:42 -0700 Subject: [PATCH 3/3] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eaf9f13acd3..1a2a3b2e667 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -193,3 +193,4 @@ Released with 1.0.0-beta.37 code base. - Fix intermittent CI build issues with `dtslint`. (#3479) - Fix provider "error" / "end" events not fired when Websocket provider disconnects (#3485) +- Fix WSS credentials Base64 encoding (for browser) (#3508)