diff options
Diffstat (limited to 'actioncable/app')
-rw-r--r-- | actioncable/app/assets/javascripts/action_cable.js | 12 | ||||
-rw-r--r-- | actioncable/app/javascript/action_cable/consumer.js | 10 | ||||
-rw-r--r-- | actioncable/app/javascript/action_cable/index.js | 2 |
3 files changed, 14 insertions, 10 deletions
diff --git a/actioncable/app/assets/javascripts/action_cable.js b/actioncable/app/assets/javascripts/action_cable.js index 029c7567ce..8349361405 100644 --- a/actioncable/app/assets/javascripts/action_cable.js +++ b/actioncable/app/assets/javascripts/action_cable.js @@ -477,15 +477,17 @@ return Consumer; }(); function createWebSocketURL(url) { - var webSocketURL = typeof url === "function" ? url() : url; - if (webSocketURL && !/^wss?:/i.test(webSocketURL)) { + if (typeof url === "function") { + url = url(); + } + if (url && !/^wss?:/i.test(url)) { var a = document.createElement("a"); - a.href = webSocketURL; + a.href = url; a.href = a.href; a.protocol = a.protocol.replace("http", "ws"); return a.href; } else { - return webSocketURL; + return url; } } function createConsumer() { @@ -505,8 +507,8 @@ exports.Subscription = Subscription; exports.Subscriptions = Subscriptions; exports.adapters = adapters; - exports.logger = logger; exports.createWebSocketURL = createWebSocketURL; + exports.logger = logger; exports.createConsumer = createConsumer; exports.getConfig = getConfig; Object.defineProperty(exports, "__esModule", { diff --git a/actioncable/app/javascript/action_cable/consumer.js b/actioncable/app/javascript/action_cable/consumer.js index 51f3b60980..e2e0dea8b5 100644 --- a/actioncable/app/javascript/action_cable/consumer.js +++ b/actioncable/app/javascript/action_cable/consumer.js @@ -58,16 +58,18 @@ export default class Consumer { } export function createWebSocketURL(url) { - const webSocketURL = typeof url === "function" ? url() : url + if (typeof url === "function") { + url = url() + } - if (webSocketURL && !/^wss?:/i.test(webSocketURL)) { + if (url && !/^wss?:/i.test(url)) { const a = document.createElement("a") - a.href = webSocketURL + a.href = url // Fix populating Location properties in IE. Otherwise, protocol will be blank. a.href = a.href a.protocol = a.protocol.replace("http", "ws") return a.href } else { - return webSocketURL + return url } } diff --git a/actioncable/app/javascript/action_cable/index.js b/actioncable/app/javascript/action_cable/index.js index d484d99179..848b5631d6 100644 --- a/actioncable/app/javascript/action_cable/index.js +++ b/actioncable/app/javascript/action_cable/index.js @@ -15,8 +15,8 @@ export { Subscription, Subscriptions, adapters, - logger, createWebSocketURL, + logger, } export function createConsumer(url = getConfig("url") || INTERNAL.default_mount_path) { |