From a599f99adaac012dcf97b67c796d7890b2096bee Mon Sep 17 00:00:00 2001 From: Florian Eitel Date: Thu, 5 Dec 2019 12:01:26 +0100 Subject: [PATCH] refactor(client): createSocketUrl to make it better unit tested (#2336) --- client-src/default/utils/createSocketUrl.js | 77 ++++++++------ test/client/utils/createSocketUrl.test.js | 111 ++++++++++++++++++++ 2 files changed, 154 insertions(+), 34 deletions(-) diff --git a/client-src/default/utils/createSocketUrl.js b/client-src/default/utils/createSocketUrl.js index b14e6136cb..d85f546159 100644 --- a/client-src/default/utils/createSocketUrl.js +++ b/client-src/default/utils/createSocketUrl.js @@ -3,41 +3,60 @@ /* global self */ const url = require('url'); -const querystring = require('querystring'); const getCurrentScriptSource = require('./getCurrentScriptSource'); -function createSocketUrl(resourceQuery) { +function createSocketUrl(resourceQuery, currentLocation) { let urlParts; if (typeof resourceQuery === 'string' && resourceQuery !== '') { // If this bundle is inlined, use the resource query to get the correct url. - // strip leading `?` from query string - urlParts = url.parse(resourceQuery.substr(1)); + // format is like `?http://0.0.0.0:8096&sockPort=8097&sockHost=localhost` + urlParts = url.parse( + resourceQuery + // strip leading `?` from query string to get a valid URL + .substr(1) + // replace first `&` with `?` to have a valid query string + .replace('&', '?'), + true + ); } else { // Else, get the url from the