mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
23 lines
677 B
Text
23 lines
677 B
Text
#= require_self
|
|
#= require ./action_cable/consumer
|
|
|
|
@ActionCable =
|
|
INTERNAL: <%= ActionCable::INTERNAL.to_json %>
|
|
|
|
createConsumer: (url = @getConfig("url")) ->
|
|
new ActionCable.Consumer @createWebSocketURL(url)
|
|
|
|
getConfig: (name) ->
|
|
element = document.head.querySelector("meta[name='action-cable-#{name}']")
|
|
element?.getAttribute("content")
|
|
|
|
createWebSocketURL: (url) ->
|
|
if url and not /^wss?:/i.test(url)
|
|
a = document.createElement("a")
|
|
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")
|
|
a.href
|
|
else
|
|
url
|