websocket-client-simple 0.3.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a973fb2e4bcd3952b65cf09ebd8675abfe23e11c
4
- data.tar.gz: fade26f5f38188f55c5b8366145ba7df3dfe0db2
2
+ SHA256:
3
+ metadata.gz: dacb78ebf74e2700e9a33fee5738d6887f89bc1ff75fd0462f13f7fecb6a4c29
4
+ data.tar.gz: 517d19aedb9257e328ab373321bf994bec148e90993078bd1d9222d16012ddd2
5
5
  SHA512:
6
- metadata.gz: 5ff340d539e7dce6a4afcea177e4162b2cd81c7a41d8f038d0088d41bdb9499093f5db48e652fa6133f3a36f29e5a0155dd84912e60a3db6a12a91ae9cb7e6ea
7
- data.tar.gz: 78b41ebe27e136107797411146eab54fb1f4c7fa9501f9d47d055afca96d94ea55822e94fa49c81d8488ccf15f415b4db1826728c9b159a86f98c73e701478af
6
+ metadata.gz: 60c390df8b3a65861e8fb7af48e068a8e2d1f28ae8efa5beb780f8b73d4cff844e9ae22f925f6b5c860946742cfcf91dd138c61ee3f3dd60218bec30c4a57825
7
+ data.tar.gz: 3e8fccee5f323c77734272dc60bf801d8d58de0c4b53b6d6c4f7f2f6f209dde3940066323eb52bd8de76fdc217a17cb4b0c0e61d0e47f90d93a50139b9025391
@@ -0,0 +1,23 @@
1
+ on:
2
+ push:
3
+ branches:
4
+ - "*"
5
+ pull_request:
6
+ branches:
7
+ - "*"
8
+ schedule:
9
+ - cron: "0 0 * * 6" # At 00:00 on Saturday
10
+ jobs:
11
+ test:
12
+ runs-on: ubuntu-20.04
13
+ strategy:
14
+ matrix:
15
+ ruby: ["3.1", "3.0", "2.7", "2.6"]
16
+ name: Ruby ${{ matrix.ruby }}
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ bundler-cache: true
23
+ - run: bundle exec rake
data/.gitignore CHANGED
@@ -14,3 +14,5 @@ spec/reports
14
14
  test/tmp
15
15
  test/version_tmp
16
16
  tmp
17
+ Gemfile.lock
18
+ .ruby-version
data/History.txt CHANGED
@@ -1,6 +1,29 @@
1
+ === Not yet released
2
+
3
+ === 0.5.1 2022-01-01
4
+
5
+ * Add `closed?` method to `WebSocket::Client::Simple` #8 by @fuyuton
6
+ * rescue when `OpenSSL::SSL::SSLError` raised #10 by @fuyuton
7
+
8
+ === 0.5.0 2021-12-31
9
+
10
+ * Change TLS context defaults to system's default. The previous defaults were ssl_version=SSLv23 and verify_mode=VERIFY_NONE, which are insecure nowadays. #5
11
+ * thank you for contributing @eagletmt
12
+ * Made the necessary changes to use SNI. #6
13
+ * thank you for contributing @fuyuton
14
+
15
+ === 0.4.0 2021-12-30
16
+
17
+ * Drop support of ruby 2.5 or older versions as explicit.
18
+
19
+ === 0.3.1 2021-12-30
20
+
21
+ * The development of this repository has moved to https://github.com/ruby-jp/websocket-client-simple
22
+
1
23
  === 0.3.0 2016-02-20
2
24
 
3
25
  * "connect" method runs a given block before connecting WebSocket #12
26
+ * thank you for suggestion @codekitchen
4
27
 
5
28
  === 0.2.5 2016-02-18
6
29
 
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  websocket-client-simple
2
2
  =======================
3
- Simple WebSocket Client for Ruby
3
+ Simple WebSocket Client for Ruby (original author: @shokai)
4
4
 
5
- - https://github.com/shokai/websocket-client-simple
5
+ - https://github.com/ruby-jp/websocket-client-simple
6
6
  - https://rubygems.org/gems/websocket-client-simple
7
7
 
8
- [![Circle CI](https://circleci.com/gh/shokai/websocket-client-simple.svg?style=svg)](https://circleci.com/gh/shokai/websocket-client-simple)
8
+ [![.github/workflows/test.yml](https://github.com/ruby-jp/websocket-client-simple/actions/workflows/test.yml/badge.svg)](https://github.com/ruby-jp/websocket-client-simple/actions/workflows/test.yml)
9
9
 
10
10
  Installation
11
11
  ------------
@@ -21,12 +21,13 @@ module WebSocket
21
21
  uri.port || (uri.scheme == 'wss' ? 443 : 80))
22
22
  if ['https', 'wss'].include? uri.scheme
23
23
  ctx = OpenSSL::SSL::SSLContext.new
24
- ctx.ssl_version = options[:ssl_version] || 'SSLv23'
25
- ctx.verify_mode = options[:verify_mode] || OpenSSL::SSL::VERIFY_NONE #use VERIFY_PEER for verification
24
+ ctx.ssl_version = options[:ssl_version] if options[:ssl_version]
25
+ ctx.verify_mode = options[:verify_mode] if options[:verify_mode]
26
26
  cert_store = OpenSSL::X509::Store.new
27
27
  cert_store.set_default_paths
28
28
  ctx.cert_store = cert_store
29
29
  @socket = ::OpenSSL::SSL::SSLSocket.new(@socket, ctx)
30
+ @socket.hostname = uri.host
30
31
  @socket.connect
31
32
  end
32
33
  @handshake = ::WebSocket::Handshake::Client.new :url => url, :headers => options[:headers]
@@ -76,6 +77,9 @@ module WebSocket
76
77
  rescue Errno::EPIPE => e
77
78
  @pipe_broken = true
78
79
  emit :__close, e
80
+ rescue OpenSSL::SSL::SSLError => e
81
+ @pipe_broken = true
82
+ emit :__close, e
79
83
  end
80
84
  end
81
85
 
@@ -95,6 +99,10 @@ module WebSocket
95
99
  @handshake.finished? and !@closed
96
100
  end
97
101
 
102
+ def closed?
103
+ @closed
104
+ end
105
+
98
106
  end
99
107
 
100
108
  end
@@ -1,7 +1,7 @@
1
1
  module WebSocket
2
2
  module Client
3
3
  module Simple
4
- VERSION = "0.3.0"
4
+ VERSION = "0.5.1"
5
5
  end
6
6
  end
7
7
  end
@@ -5,19 +5,28 @@ require 'websocket-client-simple/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "websocket-client-simple"
7
7
  spec.version = WebSocket::Client::Simple::VERSION
8
- spec.authors = ["Sho Hashimoto"]
9
- spec.email = ["hashimoto@shokai.org"]
8
+ spec.authors = ["Sho Hashimoto", "Yusuke Nakamura"]
9
+ spec.email = ["hashimoto@shokai.org", "yusuke1994525@gmail.com"]
10
10
  spec.description = %q{Simple WebSocket Client for Ruby}
11
11
  spec.summary = spec.description
12
- spec.homepage = "https://github.com/shokai/websocket-client-simple"
12
+ spec.homepage = "https://github.com/ruby-jp/websocket-client-simple"
13
13
  spec.license = "MIT"
14
+ spec.required_ruby_version = '>= 2.6.9'
15
+
16
+ if spec.respond_to?(:metadata)
17
+ spec.metadata["homepage_uri"] = spec.homepage
18
+ spec.metadata["source_code_uri"] = spec.homepage
19
+ spec.metadata["changelog_uri"] = "https://github.com/ruby-jp/websocket-client-simple/blob/master/History.txt"
20
+ end
21
+
22
+ spec.post_install_message = "The development of this gem has moved to #{spec.homepage}."
14
23
 
15
24
  spec.files = `git ls-files`.split($/).reject{|f| f == "Gemfile.lock" }
16
25
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
26
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
27
  spec.require_paths = ["lib"]
19
28
 
20
- spec.add_development_dependency "bundler", "~> 1.3"
29
+ spec.add_development_dependency "bundler"
21
30
  spec.add_development_dependency "rake"
22
31
  spec.add_development_dependency "minitest"
23
32
  spec.add_development_dependency "websocket-eventmachine-server"
metadata CHANGED
@@ -1,29 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: websocket-client-simple
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sho Hashimoto
8
+ - Yusuke Nakamura
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-02-20 00:00:00.000000000 Z
12
+ date: 2022-01-01 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '1.3'
20
+ version: '0'
20
21
  type: :development
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - "~>"
25
+ - - ">="
25
26
  - !ruby/object:Gem::Version
26
- version: '1.3'
27
+ version: '0'
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -111,17 +112,18 @@ dependencies:
111
112
  description: Simple WebSocket Client for Ruby
112
113
  email:
113
114
  - hashimoto@shokai.org
115
+ - yusuke1994525@gmail.com
114
116
  executables: []
115
117
  extensions: []
116
118
  extra_rdoc_files: []
117
119
  files:
120
+ - ".github/workflows/test.yml"
118
121
  - ".gitignore"
119
122
  - Gemfile
120
123
  - History.txt
121
124
  - LICENSE.txt
122
125
  - README.md
123
126
  - Rakefile
124
- - circle.yml
125
127
  - lib/websocket-client-simple.rb
126
128
  - lib/websocket-client-simple/client.rb
127
129
  - lib/websocket-client-simple/version.rb
@@ -134,11 +136,14 @@ files:
134
136
  - test/test_helper.rb
135
137
  - test/test_websocket_client_simple.rb
136
138
  - websocket-client-simple.gemspec
137
- homepage: https://github.com/shokai/websocket-client-simple
139
+ homepage: https://github.com/ruby-jp/websocket-client-simple
138
140
  licenses:
139
141
  - MIT
140
- metadata: {}
141
- post_install_message:
142
+ metadata:
143
+ homepage_uri: https://github.com/ruby-jp/websocket-client-simple
144
+ source_code_uri: https://github.com/ruby-jp/websocket-client-simple
145
+ changelog_uri: https://github.com/ruby-jp/websocket-client-simple/blob/master/History.txt
146
+ post_install_message: The development of this gem has moved to https://github.com/ruby-jp/websocket-client-simple.
142
147
  rdoc_options: []
143
148
  require_paths:
144
149
  - lib
@@ -146,15 +151,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
151
  requirements:
147
152
  - - ">="
148
153
  - !ruby/object:Gem::Version
149
- version: '0'
154
+ version: 2.6.9
150
155
  required_rubygems_version: !ruby/object:Gem::Requirement
151
156
  requirements:
152
157
  - - ">="
153
158
  - !ruby/object:Gem::Version
154
159
  version: '0'
155
160
  requirements: []
156
- rubyforge_project:
157
- rubygems_version: 2.4.5
161
+ rubygems_version: 3.1.6
158
162
  signing_key:
159
163
  specification_version: 4
160
164
  summary: Simple WebSocket Client for Ruby
data/circle.yml DELETED
@@ -1,3 +0,0 @@
1
- machine:
2
- ruby:
3
- version: "2.2.2"