From c309d3cff60ee808bae117a40296e90cbfb12078 Mon Sep 17 00:00:00 2001
From: Simon Ser <contact@emersion.fr>
Date: Wed, 1 Jul 2020 12:25:57 +0200
Subject: [PATCH] Allow paths in server URL query param

---
 components/app.js | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/components/app.js b/components/app.js
index 43958fe..779d28d 100644
--- a/components/app.js
+++ b/components/app.js
@@ -67,17 +67,24 @@ export default class App extends Component {
 		} else {
 			var params = parseQueryString();
 
-			if (params.server) {
-				this.state.connectParams.serverURL = params.server;
-			} else {
-				var host = window.location.host || "localhost:8080";
-				var proto = "wss:";
-				if (window.location.protocol != "https:") {
-					proto = "ws:";
-				}
-				this.state.connectParams.serverURL = proto + "//" + host + "/socket";
+			var host = window.location.host || "localhost:8080";
+			var proto = "wss:";
+			if (window.location.protocol != "https:") {
+				proto = "ws:";
 			}
 
+			var serverURL;
+			if (params.server) {
+				if (params.server.startsWith("/")) {
+					serverURL = proto + "//" + host + params.server;
+				} else {
+					serverURL = params.server;
+				}
+			} else {
+				serverURL = proto + "//" + host + "/socket";
+			}
+			this.state.connectParams.serverURL = serverURL;
+
 			if (params.channels) {
 				this.state.connectParams.autojoin = params.channels.split(",");
 			}