From 18ca136292a3940e06e2b276bc6cc8790e69de69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Cruz?= Date: Thu, 7 Jul 2016 23:41:42 +0100 Subject: [PATCH 1/2] Inherit protocol and endpoint when not specified. --- src/Native/WebSocket.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Native/WebSocket.js b/src/Native/WebSocket.js index e7726c3..304bf27 100644 --- a/src/Native/WebSocket.js +++ b/src/Native/WebSocket.js @@ -1,12 +1,22 @@ var _elm_lang$websocket$Native_WebSocket = function() { +function getProtocol(){ return location.protocol.match(/^https/) ? "wss" : "ws" } + +function getEndpointURL(uri) +{ + if(uri.charAt(0) !== "/"){ return uri; } + if(uri.charAt(1) === "/"){ return getProtocol() + ':' + uri; } + + return getProtocol() + '://' + location.host + uri; +} + function open(url, settings) { return _elm_lang$core$Native_Scheduler.nativeBinding(function(callback) { try { - var socket = new WebSocket(url); + var socket = new WebSocket(getEndpointURL(url)); socket.elm_web_socket = true; } catch(err) From f68cc9d0bdbea7888c642839d7bf53ebfe481d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Cruz?= Date: Fri, 25 Nov 2016 11:43:55 +0000 Subject: [PATCH 2/2] Corrected whitespace. --- src/Native/WebSocket.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Native/WebSocket.js b/src/Native/WebSocket.js index 304bf27..b745ece 100644 --- a/src/Native/WebSocket.js +++ b/src/Native/WebSocket.js @@ -16,7 +16,7 @@ function open(url, settings) { try { - var socket = new WebSocket(getEndpointURL(url)); + var socket = new WebSocket(getEndpointURL(url)); socket.elm_web_socket = true; } catch(err)