splitclient-rb 8.10.0.pre.rc1 → 8.10.0.pre.rc3
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 +4 -4
- data/lib/splitclient-rb/sse/event_source/client.rb +19 -5
- data/lib/splitclient-rb/version.rb +1 -1
- metadata +5 -10
- data/.github/workflows/gem-push.yml +0 -40
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4a02d284b164c23bc6d6d42ff6ac09620e65879978700195e7f7a251fbf1c8f2
|
|
4
|
+
data.tar.gz: b2e23d3d62bceacaad46c11db2fd2e5f402c3cbbd3d60625a59eeb1c6a5a1159
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c51285c71b17d907f5f05c8a49c000d77f80e38a367d2288fb63106c4dbe62fc16b7397b84170530302c386164e5209fbb314601a170134a85a243fc40606f36
|
|
7
|
+
data.tar.gz: ac1d15560f3f1ab29623dc6052ac6f90fa8a76b44c973d261ef91b93a88c0c81fbfb82117d524b8f99b3084772e8ab07823444475cd752ee9c3ec413664e088c
|
|
@@ -97,16 +97,18 @@ module SplitIoClient
|
|
|
97
97
|
rescue Timeout::Error => e
|
|
98
98
|
log_if_debug("SSE read operation timed out!: #{e.inspect}", 3)
|
|
99
99
|
return Constants::PUSH_RETRYABLE_ERROR
|
|
100
|
-
rescue EOFError
|
|
100
|
+
rescue EOFError => e
|
|
101
|
+
log_if_debug("SSE read operation EOF Exception!: #{e.inspect}", 3)
|
|
101
102
|
raise 'eof exception'
|
|
102
103
|
rescue Errno::EAGAIN => e
|
|
103
104
|
log_if_debug("SSE client transient error: #{e.inspect}", 1)
|
|
104
105
|
IO.select([tcp_socket])
|
|
105
106
|
retry
|
|
106
107
|
rescue Errno::EBADF, IOError => e
|
|
107
|
-
log_if_debug(e.inspect, 3)
|
|
108
|
+
log_if_debug("SSE read operation EBADF or IOError: #{e.inspect}", 3)
|
|
108
109
|
return nil
|
|
109
110
|
rescue StandardError => e
|
|
111
|
+
log_if_debug("SSE read operation StandardError: #{e.inspect}", 3)
|
|
110
112
|
return nil if ENV['SPLITCLIENT_ENV'] == 'test'
|
|
111
113
|
|
|
112
114
|
log_if_debug("Error reading partial data: #{e.inspect}", 3)
|
|
@@ -115,6 +117,8 @@ module SplitIoClient
|
|
|
115
117
|
|
|
116
118
|
process_data(partial_data)
|
|
117
119
|
end
|
|
120
|
+
log_if_debug("SSE read operation exited: #{connected}")
|
|
121
|
+
|
|
118
122
|
nil
|
|
119
123
|
end
|
|
120
124
|
|
|
@@ -156,11 +160,21 @@ module SplitIoClient
|
|
|
156
160
|
ssl_context = OpenSSL::SSL::SSLContext.new
|
|
157
161
|
ssl_socket = OpenSSL::SSL::SSLSocket.new(tcp_socket, ssl_context)
|
|
158
162
|
ssl_socket.hostname = @uri.host
|
|
159
|
-
|
|
160
|
-
|
|
163
|
+
|
|
164
|
+
begin
|
|
165
|
+
ssl_socket.connect_nonblock
|
|
166
|
+
rescue IO::WaitReadable
|
|
167
|
+
IO.select([ssl_socket])
|
|
168
|
+
retry
|
|
169
|
+
rescue IO::WaitWritable
|
|
170
|
+
IO.select(nil, [ssl_socket])
|
|
171
|
+
retry
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
return ssl_socket
|
|
175
|
+
# return ssl_socket.connect
|
|
161
176
|
rescue Exception => e
|
|
162
177
|
@config.logger.error("socket connect error: #{e.inspect}")
|
|
163
|
-
puts e.inspect
|
|
164
178
|
return nil
|
|
165
179
|
end
|
|
166
180
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: splitclient-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.10.0.pre.
|
|
4
|
+
version: 8.10.0.pre.rc3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Split Software
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: allocation_stats
|
|
@@ -387,7 +386,6 @@ files:
|
|
|
387
386
|
- ".github/CODEOWNERS"
|
|
388
387
|
- ".github/pull_request_template.md"
|
|
389
388
|
- ".github/workflows/ci.yml"
|
|
390
|
-
- ".github/workflows/gem-push.yml"
|
|
391
389
|
- ".github/workflows/update-license-year.yml"
|
|
392
390
|
- ".gitignore"
|
|
393
391
|
- ".rubocop.yml"
|
|
@@ -564,7 +562,6 @@ homepage: https://github.com/splitio/ruby-client
|
|
|
564
562
|
licenses:
|
|
565
563
|
- Apache-2.0
|
|
566
564
|
metadata: {}
|
|
567
|
-
post_install_message:
|
|
568
565
|
rdoc_options: []
|
|
569
566
|
require_paths:
|
|
570
567
|
- lib
|
|
@@ -575,13 +572,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
575
572
|
version: 2.5.0
|
|
576
573
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
577
574
|
requirements:
|
|
578
|
-
- - "
|
|
575
|
+
- - ">="
|
|
579
576
|
- !ruby/object:Gem::Version
|
|
580
|
-
version:
|
|
577
|
+
version: '0'
|
|
581
578
|
requirements: []
|
|
582
|
-
|
|
583
|
-
rubygems_version: 2.7.6.2
|
|
584
|
-
signing_key:
|
|
579
|
+
rubygems_version: 3.7.1
|
|
585
580
|
specification_version: 4
|
|
586
581
|
summary: Ruby client for split SDK.
|
|
587
582
|
test_files: []
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
name: Ruby Gem
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ "release" ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ "release" ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
build:
|
|
11
|
-
name: Build + Publish
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
permissions:
|
|
14
|
-
contents: read
|
|
15
|
-
packages: write
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v4
|
|
19
|
-
- name: Set up Ruby 2.5.8
|
|
20
|
-
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
21
|
-
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
22
|
-
# uses: ruby/setup-ruby@v1
|
|
23
|
-
uses: ruby/setup-ruby@v1
|
|
24
|
-
with:
|
|
25
|
-
ruby-version: 2.5.8
|
|
26
|
-
|
|
27
|
-
- name: Publish to RubyGems
|
|
28
|
-
run: |
|
|
29
|
-
mkdir -p $HOME/.gem
|
|
30
|
-
touch $HOME/.gem/credentials
|
|
31
|
-
chmod 0600 $HOME/.gem/credentials
|
|
32
|
-
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
|
33
|
-
gem build *.gemspec
|
|
34
|
-
# gem push *.gem
|
|
35
|
-
- name: upload gem file
|
|
36
|
-
uses: actions/upload-artifact@v4
|
|
37
|
-
with:
|
|
38
|
-
name: gemspec
|
|
39
|
-
path: ./*.gem
|
|
40
|
-
|