faye-websocket 0.10.4 → 0.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of faye-websocket might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +9 -6
- data/lib/faye/websocket.rb +3 -3
- data/lib/faye/websocket/client.rb +11 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5dfb25398e331800baf73b73988b88639753fac9
|
4
|
+
data.tar.gz: 86e8c6d23a38fa6e699be24dd0aa677a7ad29c0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8900d2b969e66c6a9a338cf763c00f9c59728884ce52c7fe1034d852487c323b14bcab97b4a411761f6bd6d6af7f600f5a2de67c9275be912acbfe50598a0512
|
7
|
+
data.tar.gz: 6f8df7095506203c476b487383653ef28641bfba255b5febec138aa17af53f9b4e234f951e0f554107bbc461292ef4998cd91c94a0045dc470dc7236f6cfd5aa
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -10,13 +10,14 @@ This is a general-purpose WebSocket implementation extracted from the
|
|
10
10
|
WebSocket servers and clients in Ruby. It does not provide a server itself, but
|
11
11
|
rather makes it easy to handle WebSocket connections within an existing
|
12
12
|
[Rack](http://rack.github.io/) application. It does not provide any abstraction
|
13
|
-
other than the standard [WebSocket
|
13
|
+
other than the standard [WebSocket
|
14
|
+
API](https://html.spec.whatwg.org/multipage/comms.html#network).
|
14
15
|
|
15
16
|
It also provides an abstraction for handling
|
16
|
-
[EventSource](
|
17
|
-
one-way connections that allow the server to push data to
|
18
|
-
based on streaming HTTP responses and can be easier to
|
19
|
-
WebSockets.
|
17
|
+
[EventSource](https://html.spec.whatwg.org/multipage/comms.html#server-sent-events)
|
18
|
+
connections, which are one-way connections that allow the server to push data to
|
19
|
+
the client. They are based on streaming HTTP responses and can be easier to
|
20
|
+
access via proxies than WebSockets.
|
20
21
|
|
21
22
|
The following web servers are supported. Other servers that implement the
|
22
23
|
`rack.hijack` API should also work.
|
@@ -198,7 +199,9 @@ is an optional hash containing any of these keys:
|
|
198
199
|
The default value is `2^26 - 1`, or 1 byte short of 64 MiB.
|
199
200
|
* `:ping` - an integer that sets how often the WebSocket should send ping
|
200
201
|
frames, measured in seconds
|
201
|
-
|
202
|
+
* `:tls` - a hash containing key-value pairs for specifying TLS parameters.
|
203
|
+
These are passed along to EventMachine and you can find
|
204
|
+
[more details here](http://rubydoc.info/gems/eventmachine/EventMachine%2FConnection%3Astart_tls)
|
202
205
|
|
203
206
|
## WebSocket API
|
204
207
|
|
data/lib/faye/websocket.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# API references:
|
2
2
|
#
|
3
|
-
# *
|
4
|
-
# *
|
5
|
-
# *
|
3
|
+
# * https://html.spec.whatwg.org/multipage/comms.html#network
|
4
|
+
# * https://dom.spec.whatwg.org/#interface-eventtarget
|
5
|
+
# * https://dom.spec.whatwg.org/#interface-event
|
6
6
|
|
7
7
|
require 'forwardable'
|
8
8
|
require 'stringio'
|
@@ -34,7 +34,11 @@ module Faye
|
|
34
34
|
secure = SECURE_PROTOCOLS.include?(uri.scheme)
|
35
35
|
@proxy = nil
|
36
36
|
|
37
|
-
|
37
|
+
if secure
|
38
|
+
origin_tls = {:sni_hostname => uri.host}.merge(@origin_tls)
|
39
|
+
@stream.start_tls(origin_tls)
|
40
|
+
end
|
41
|
+
|
38
42
|
@driver.start
|
39
43
|
end
|
40
44
|
|
@@ -55,7 +59,12 @@ module Faye
|
|
55
59
|
|
56
60
|
def on_connect(stream)
|
57
61
|
@stream = stream
|
58
|
-
|
62
|
+
|
63
|
+
if @secure
|
64
|
+
socket_tls = {:sni_hostname => URI.parse(@url).host}.merge(@socket_tls)
|
65
|
+
@stream.start_tls(socket_tls)
|
66
|
+
end
|
67
|
+
|
59
68
|
worker = @proxy || @driver
|
60
69
|
worker.start
|
61
70
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faye-websocket
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Coglan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: public_suffix
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "<"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.5.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.5.0
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: puma
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|