Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Bauch <bauch@struktur.de>2017-07-25 13:37:01 +0300
committerJoachim Bauch <bauch@struktur.de>2017-11-02 13:23:10 +0300
commit5cb56b565986acf6a133bdfe81cf41ee06763d53 (patch)
tree577e0b5a5ceec56b3c2368cfc312bfa7c985ac94 /js/signaling.js
parent6ee066ab0825517fb992cf9377e7b0fc46005827 (diff)
Allow setting up multiple signaling servers.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
Diffstat (limited to 'js/signaling.js')
-rw-r--r--js/signaling.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/js/signaling.js b/js/signaling.js
index c47741fb1..098006423 100644
--- a/js/signaling.js
+++ b/js/signaling.js
@@ -439,8 +439,15 @@
}.bind(this));
};
- function StandaloneSignaling(settings, url) {
+ function StandaloneSignaling(settings, urls) {
SignalingBase.prototype.constructor.apply(this, arguments);
+ if (typeof(urls) === "string") {
+ urls = [urls];
+ }
+ // We can connect to any of the servers.
+ var idx = Math.floor(Math.random() * urls.length);
+ // TODO(jojo): Try other server if connection fails.
+ var url = urls[idx];
// Make sure we are using websocket urls.
if (url.indexOf("https://") === 0) {
url = "wss://" + url.substr(8);
@@ -755,9 +762,9 @@
} else {
settings = {};
}
- var url = settings['server'];
- if (url) {
- return new StandaloneSignaling(settings, url);
+ var urls = settings['server'];
+ if (urls) {
+ return new StandaloneSignaling(settings, urls);
} else {
return new InternalSignaling(settings);
}