faye-websocket 0.11.3 → 0.12.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d168176a9846ceffcccbf52d16d682553c7cfb8732e275b44aec51cbad3cf69
4
- data.tar.gz: b766dc978b036ac357a0cf3000515582809565998ff06944723223d0f68e47c9
3
+ metadata.gz: dee49a39a79363482a72806d0beb3d02006151229a99bf42134b4a0e719cb7d9
4
+ data.tar.gz: 5e5a4b517226126798ed6881122d66ea93124cc9e36ab96b228892ba84bbfe5e
5
5
  SHA512:
6
- metadata.gz: b12ea7fff43a07f1e91501faa42bc561f8596fb96b0b5eeed2082212f002e97b898d00e791d2ac407007e12865b851c022aa3aec30728a80761b5b281d225f68
7
- data.tar.gz: 3bb181944f60af75c33d7779fa58cde5f8da76f3814c5398421f835884f334f8c1d82f0e46e1ae478f9889a941c5fd6b745e21de48f2a87e9fc8b3b0ad52de9b
6
+ metadata.gz: 681f48154435219f54c2a3724bda64b2b6be5d7b805865864c6b83e009d121d1024248a7690871a6a4ff9ac11f7f712a950f82c6af6992d685f2081500be93cd
7
+ data.tar.gz: a5714f10fe704c76df1404e8787542170dfba7b9fbcc9199f477e8cc74a7294dd58012314d0570b5908ffeec3a8fdd531ae6111592d4f8809a85632af11bf3f6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 0.12.0 / 2025-05-25
2
+
3
+ - Represent binary messages as strings with `Encoding::BINARY` rather than as
4
+ arrays
5
+
1
6
  ### 0.11.3 / 2023-07-25
2
7
 
3
8
  - Handle 'cert already in hash table' error message on Ruby 3.1+
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2010-2023 James Coglan
1
+ Copyright 2010-2025 James Coglan
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
4
  this file except in compliance with the License. You may obtain a copy of the
@@ -22,7 +22,9 @@ module Faye
22
22
  def initialize(options = {})
23
23
  @ready_state = CONNECTING
24
24
  super()
25
- ::WebSocket::Driver.validate_options(options, [:headers, :extensions, :max_length, :ping, :proxy, :tls])
25
+ ::WebSocket::Driver.validate_options(options, [
26
+ :headers, :extensions, :max_length, :ping, :proxy, :tls, :binary_data_format
27
+ ])
26
28
 
27
29
  @driver = yield
28
30
 
@@ -63,11 +65,20 @@ module Faye
63
65
 
64
66
  def send(message)
65
67
  return false if @ready_state > OPEN
68
+
66
69
  case message
67
- when Numeric then @driver.text(message.to_s)
68
- when String then @driver.text(message)
69
- when Array then @driver.binary(message)
70
- else false
70
+ when Numeric then
71
+ @driver.text(message.to_s)
72
+ when String then
73
+ if message.encoding == Encoding::BINARY
74
+ @driver.binary(message)
75
+ else
76
+ @driver.text(message)
77
+ end
78
+ when Array then
79
+ @driver.binary(message)
80
+ else
81
+ false
71
82
  end
72
83
  end
73
84
 
@@ -14,7 +14,13 @@ module Faye
14
14
 
15
15
  def initialize(url, protocols = nil, options = {})
16
16
  @url = url
17
- super(options) { ::WebSocket::Driver.client(self, :max_length => options[:max_length], :protocols => protocols) }
17
+ super(options) {
18
+ ::WebSocket::Driver.client(self,
19
+ :max_length => options[:max_length],
20
+ :protocols => protocols,
21
+ :binary_data_format => options[:binary_data_format]
22
+ )
23
+ }
18
24
 
19
25
  proxy = options.fetch(:proxy, {})
20
26
  @endpoint = URI.parse(proxy[:origin] || @url)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faye-websocket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.3
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Coglan
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-07-25 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: eventmachine
@@ -30,14 +29,14 @@ dependencies:
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: 0.5.1
32
+ version: 0.8.0
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: 0.5.1
39
+ version: 0.8.0
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: permessage_deflate
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -90,16 +89,16 @@ dependencies:
90
89
  name: rack
91
90
  requirement: !ruby/object:Gem::Requirement
92
91
  requirements:
93
- - - ">="
92
+ - - "<"
94
93
  - !ruby/object:Gem::Version
95
- version: '0'
94
+ version: '3'
96
95
  type: :development
97
96
  prerelease: false
98
97
  version_requirements: !ruby/object:Gem::Requirement
99
98
  requirements:
100
- - - ">="
99
+ - - "<"
101
100
  - !ruby/object:Gem::Version
102
- version: '0'
101
+ version: '3'
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: rspec
105
104
  requirement: !ruby/object:Gem::Requirement
@@ -190,7 +189,6 @@ dependencies:
190
189
  - - ">="
191
190
  - !ruby/object:Gem::Version
192
191
  version: 4.0.0
193
- description:
194
192
  email: jcoglan@gmail.com
195
193
  executables: []
196
194
  extensions: []
@@ -216,8 +214,8 @@ files:
216
214
  homepage: https://github.com/faye/faye-websocket-ruby
217
215
  licenses:
218
216
  - Apache-2.0
219
- metadata: {}
220
- post_install_message:
217
+ metadata:
218
+ changelog_uri: https://github.com/faye/faye-websocket-ruby/blob/main/CHANGELOG.md
221
219
  rdoc_options:
222
220
  - "--main"
223
221
  - README.md
@@ -236,8 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
236
234
  - !ruby/object:Gem::Version
237
235
  version: '0'
238
236
  requirements: []
239
- rubygems_version: 3.4.10
240
- signing_key:
237
+ rubygems_version: 3.6.7
241
238
  specification_version: 4
242
239
  summary: Standards-compliant WebSocket server and client
243
240
  test_files: []