action_cable_client 3.0.1 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/README.md +10 -0
- data/lib/action_cable_client.rb +5 -4
- data/lib/action_cable_client/version.rb +1 -1
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa0c15dc6f8b9a9a6c0643090cac82c9ee0f2f36522b0a086433f3c852396c65
|
4
|
+
data.tar.gz: 0b0dc2baf9515ff563ecd9f2b2b66b35b29afb2ae33f428ab79b91109d5aa1a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f51b7a5e089987b064c7ea136b0521749ea65ce44fa3b90d9a72cf75e3ca2f07defc8f3e6c773837764dae257c4d61765fdbc991f1fb44ec6cd7e9bed6751106
|
7
|
+
data.tar.gz: 3961a4a422c32d0e3464942aed22659a5326ccb4346b05532e4344bfe98c47ed941f212d9cd62950c081488bc1de98312c0e508d13b60f3265be7a28878e0520
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
## 3.0.1
|
2
2
|
|
3
|
-
* [#27](https://github.com/NullVoxPopuli/action_cable_client/pull/27)
|
3
|
+
* [#27](https://github.com/NullVoxPopuli/action_cable_client/pull/27) ([@neomilium](https://github.com/neomilium))
|
4
4
|
* Implement reconnect
|
5
5
|
* Fix issue with subscribing only working on initial connection
|
6
6
|
* Additional Tests
|
@@ -8,13 +8,13 @@
|
|
8
8
|
|
9
9
|
## 2.0.2
|
10
10
|
|
11
|
-
* [#24](https://github.com/NullVoxPopuli/action_cable_client/pull/24) Fix bug where action cable client is too fast for the server and doesn't wait for the server's welcome message before initiating a channel subscription (@wpp)
|
11
|
+
* [#24](https://github.com/NullVoxPopuli/action_cable_client/pull/24) Fix bug where action cable client is too fast for the server and doesn't wait for the server's welcome message before initiating a channel subscription ([@wpp](https://github.com/wpp))
|
12
12
|
|
13
13
|
## 2.0.1
|
14
14
|
|
15
15
|
**General**
|
16
16
|
|
17
|
-
* [#22](https://github.com/NullVoxPopuli/action_cable_client/pull/22) Removed ActiveSupport Dependency (@srabuini)
|
17
|
+
* [#22](https://github.com/NullVoxPopuli/action_cable_client/pull/22) Removed ActiveSupport Dependency ([@srabuini](https://github.com/srabuini))
|
18
18
|
|
19
19
|
## 2.0
|
20
20
|
|
data/README.md
CHANGED
@@ -88,6 +88,16 @@ client = ActionCableClient.new(uri, params, true, {
|
|
88
88
|
})
|
89
89
|
```
|
90
90
|
|
91
|
+
#### Using TLS
|
92
|
+
|
93
|
+
Example given for client certificate authentication. See EventMachine::Connection#start_tls documentation for other options.
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
params = { channel: 'RoomChannel', favorite_color: 'blue' }
|
97
|
+
tls = {cert_chain_file: 'user.crt', private_key_file: 'user.key'}
|
98
|
+
client = ActionCableClient.new(uri, params, true, nil, tls)
|
99
|
+
```
|
100
|
+
|
91
101
|
|
92
102
|
## Demo
|
93
103
|
|
data/lib/action_cable_client.rb
CHANGED
@@ -35,17 +35,18 @@ class ActionCableClient
|
|
35
35
|
# @param [Boolean] connect_on_start - connects on init when true
|
36
36
|
# - otherwise manually call `connect!`
|
37
37
|
# @param [Hash] headers - HTTP headers to use in the handshake
|
38
|
-
|
38
|
+
# @param [Hash] tls - TLS options hash to be passed to EM start_tls
|
39
|
+
def initialize(uri, params = '', connect_on_start = true, headers = {}, tls = {})
|
39
40
|
@_uri = uri
|
40
41
|
@message_queue = []
|
41
42
|
@_subscribed = false
|
42
43
|
|
43
44
|
@_message_factory = MessageFactory.new(params)
|
44
45
|
|
45
|
-
connect!(headers) if connect_on_start
|
46
|
+
connect!(headers, tls) if connect_on_start
|
46
47
|
end
|
47
48
|
|
48
|
-
def connect!(headers = {})
|
49
|
+
def connect!(headers = {}, tls = {})
|
49
50
|
# Quick Reference for WebSocket::EM::Client's api
|
50
51
|
# - onopen - called after successfully connecting
|
51
52
|
# - onclose - called after closing connection
|
@@ -58,7 +59,7 @@ class ActionCableClient
|
|
58
59
|
# - close - closes the connection and optionally sends close frame to server. `close(code, data)`
|
59
60
|
# - ping - sends a ping
|
60
61
|
# - pong - sends a pong
|
61
|
-
@_websocket_client = WebSocket::EventMachine::Client.connect(uri: @_uri, headers: headers)
|
62
|
+
@_websocket_client = WebSocket::EventMachine::Client.connect(uri: @_uri, headers: headers, tls: tls)
|
62
63
|
|
63
64
|
@_websocket_client.onclose do
|
64
65
|
self._subscribed = false
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: action_cable_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- L. Preston Sego III
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: websocket-eventmachine-client
|
@@ -113,9 +113,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: '0'
|
115
115
|
requirements: []
|
116
|
-
|
117
|
-
rubygems_version: 2.7.6
|
116
|
+
rubygems_version: 3.0.3
|
118
117
|
signing_key:
|
119
118
|
specification_version: 4
|
120
|
-
summary: ActionCableClient-3.0
|
119
|
+
summary: ActionCableClient-3.1.0
|
121
120
|
test_files: []
|