diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-08-02 16:37:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-02 16:37:09 -0400 |
commit | c4a3118e9f885e92bb9b7d882898e9a51fc3be69 (patch) | |
tree | 7564e7aa04e7c656781b34375d6964d029755c38 /webapp/actions | |
parent | e67bbcb0ae483cc86ae3a80ace36f1e6e663b589 (diff) | |
download | chat-c4a3118e9f885e92bb9b7d882898e9a51fc3be69.tar.gz chat-c4a3118e9f885e92bb9b7d882898e9a51fc3be69.tar.bz2 chat-c4a3118e9f885e92bb9b7d882898e9a51fc3be69.zip |
PLT-3408 Add SiteURL to config.json (#3692)
* PLT-3408 Changed serverside code to get the service's URL from config.json
* PLT-3408 Changed most clientside code to use the SiteURL config setting instead of window.location
* PLT-3408 Changed default SiteURL to be autodetected
Diffstat (limited to 'webapp/actions')
-rw-r--r-- | webapp/actions/websocket_actions.jsx | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index 61503c68a..e93b2d25b 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -32,12 +32,26 @@ const MAX_WEBSOCKET_FAILS = 7; export function initialize() { if (window.WebSocket) { - let protocol = 'ws://'; - if (window.location.protocol === 'https:') { - protocol = 'wss://'; + let connUrl = window.mm_config.SiteURL; + + // replace the protocol with a websocket one + if (connUrl.startsWith('https:')) { + connUrl = connUrl.replace(/^https:/, 'wss:'); + } else { + connUrl = connUrl.replace(/^http:/, 'ws:'); + } + + // append a port number if one isn't already specified + if (!(/:\d+$/).test(connUrl)) { + if (connUrl.startsWith('wss:')) { + connUrl += ':' + global.window.mm_config.WebsocketSecurePort; + } else { + connUrl += ':' + global.window.mm_config.WebsocketPort; + } } - const connUrl = protocol + location.host + ((/:\d+/).test(location.host) ? '' : Utils.getWebsocketPort(protocol)) + Client.getUsersRoute() + '/websocket'; + // append the websocket api path + connUrl += Client.getUsersRoute() + '/websocket'; WebSocketClient.setEventCallback(handleEvent); WebSocketClient.setReconnectCallback(handleReconnect); |