record_store 8.0.6 → 8.0.7
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/CHANGELOG.md +3 -0
- data/lib/record_store/provider/cloudflare/client.rb +6 -9
- data/lib/record_store/provider.rb +10 -1
- data/lib/record_store/version.rb +1 -1
- data/record_store.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6884d926bdd86badb5c898030ca919d28c61ff64fc7b023c5af227cc289a2be
|
4
|
+
data.tar.gz: 6189b564b512cb320b5a69a4027dc4642212ab9dc1aa054e66b899b70c58187b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59b22a7833c745d2416a6c3070f22115305e66a4b5553d3a9e20c7e703ab4c5125f24b5e9d278c81dd755337d015da422c9f32f6ebe7da031a850dce2dd2b7c3
|
7
|
+
data.tar.gz: 3f336051180e9e08ee46b11d4f516d8461f006ad882e28015dcaf4f481e5962c661cc7fea3a619090543987b39b80fcbbcbf182c29d38b60272cbc7177aedfe2
|
data/CHANGELOG.md
CHANGED
@@ -64,16 +64,13 @@ module Cloudflare
|
|
64
64
|
|
65
65
|
begin
|
66
66
|
response = conn.request(request)
|
67
|
-
|
68
|
-
|
67
|
+
response.value
|
68
|
+
response
|
69
|
+
rescue Net::HTTPRetriableError, Net::HTTPFatalError => e
|
70
|
+
raise RecordStore::Provider::RetriableError, e.message
|
71
|
+
rescue Net::HTTPClientException, Net::HTTPError => e
|
72
|
+
raise RecordStore::Provider::Error, e.message
|
69
73
|
end
|
70
|
-
|
71
|
-
if response.code.to_i >= 300
|
72
|
-
raise RecordStore::Provider::Error,
|
73
|
-
"HTTP response code: #{response.code} - #{response.message}; #{response.body}"
|
74
|
-
end
|
75
|
-
|
76
|
-
response
|
77
74
|
end
|
78
75
|
end
|
79
76
|
|
@@ -6,6 +6,8 @@ module RecordStore
|
|
6
6
|
|
7
7
|
class UnparseableBodyError < Error; end
|
8
8
|
|
9
|
+
class RetriableError < Error; end
|
10
|
+
|
9
11
|
class << self
|
10
12
|
def provider_for(object)
|
11
13
|
lookup_error = false
|
@@ -145,6 +147,7 @@ module RecordStore
|
|
145
147
|
max_timeouts: 5,
|
146
148
|
max_conn_resets: 5,
|
147
149
|
max_retries: 5,
|
150
|
+
max_server_errors: 3,
|
148
151
|
delay: 1,
|
149
152
|
backoff_multiplier: 2,
|
150
153
|
max_backoff: 10
|
@@ -158,7 +161,7 @@ module RecordStore
|
|
158
161
|
|
159
162
|
loop do
|
160
163
|
return yield
|
161
|
-
rescue UnparseableBodyError
|
164
|
+
rescue RecordStore::Provider::UnparseableBodyError
|
162
165
|
raise if max_retries <= 0
|
163
166
|
|
164
167
|
max_retries -= 1
|
@@ -176,6 +179,12 @@ module RecordStore
|
|
176
179
|
max_conn_resets -= 1
|
177
180
|
|
178
181
|
waiter.wait
|
182
|
+
rescue RecordStore::Provider::RetriableError
|
183
|
+
raise if max_server_errors <= 0
|
184
|
+
|
185
|
+
max_server_errors -= 1
|
186
|
+
|
187
|
+
waiter.wait(message: 'Waiting to retry after server error')
|
179
188
|
end
|
180
189
|
end
|
181
190
|
end
|
data/lib/record_store/version.rb
CHANGED
data/record_store.gemspec
CHANGED
@@ -46,7 +46,7 @@ Gem::Specification.new do |spec|
|
|
46
46
|
spec.add_development_dependency 'mocha'
|
47
47
|
spec.add_development_dependency 'pry'
|
48
48
|
spec.add_development_dependency 'rake'
|
49
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
49
|
+
spec.add_development_dependency 'rubocop', '~> 1.75.2'
|
50
50
|
spec.add_development_dependency 'rubocop-shopify', '~> 2.15.1'
|
51
51
|
spec.add_development_dependency 'vcr'
|
52
52
|
spec.add_development_dependency 'webmock'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: record_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.0.
|
4
|
+
version: 8.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Willem van Bergen
|
8
8
|
- Emil Stolarsky
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -304,14 +304,14 @@ dependencies:
|
|
304
304
|
requirements:
|
305
305
|
- - "~>"
|
306
306
|
- !ruby/object:Gem::Version
|
307
|
-
version: 1.
|
307
|
+
version: 1.75.2
|
308
308
|
type: :development
|
309
309
|
prerelease: false
|
310
310
|
version_requirements: !ruby/object:Gem::Requirement
|
311
311
|
requirements:
|
312
312
|
- - "~>"
|
313
313
|
- !ruby/object:Gem::Version
|
314
|
-
version: 1.
|
314
|
+
version: 1.75.2
|
315
315
|
- !ruby/object:Gem::Dependency
|
316
316
|
name: rubocop-shopify
|
317
317
|
requirement: !ruby/object:Gem::Requirement
|
@@ -453,7 +453,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
453
453
|
- !ruby/object:Gem::Version
|
454
454
|
version: '0'
|
455
455
|
requirements: []
|
456
|
-
rubygems_version: 3.6.
|
456
|
+
rubygems_version: 3.6.8
|
457
457
|
specification_version: 4
|
458
458
|
summary: Manage DNS using git
|
459
459
|
test_files: []
|