organization_audit 2.1.0 → 2.1.1

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: 5f41e351d229c2a4a6ffed86c306323e77fa1952619f7804ecf33518c766039d
4
- data.tar.gz: e14ed8bf0ea6733866c318c47c3125e3cf77a0c74d63db34cde8dd7ca7ea4112
3
+ metadata.gz: 2f1e2fd92f477c1781dbe7e02af8908e6046b56a13218d01358991f8586789b2
4
+ data.tar.gz: 0b930890543822993b5bedc9569aba2e3b53b8f94fe27a946ea17ccae5bd376e
5
5
  SHA512:
6
- metadata.gz: 230a3eb9b32d6774682fb3c0223795e5b06ffa33ef2c386856eca9427e8168ea88abce7ad5660a300c52a589532c0f7f7a00492c3a744ce50bde5db9aed02225
7
- data.tar.gz: 31f1b4b112f39711f3555d00da18a7a8867c9a8f0a7ce20fda88d62ba8ffaf3adfd6ad9930751499c32fb65dd0d9fa7b75583d5cdaa456521422bbf8cac6f5b5
6
+ metadata.gz: aa886169bd98058bcab53ea0875aef761bc6cb659fe86cc8e1ca4ad31c108dd18753f7d2c50762eecd41803a2277c8d20a57a825b0478ac65032bda683799a61
7
+ data.tar.gz: 74f128cfd33bf0248bf7fab7dfe2c8a9ef5e00b95c6d551ab178e9ad52054234edb678256c8e2a1dc9800fa51f7f7fd334d4655f00b67a3e960c21e3a77d048e
@@ -125,29 +125,31 @@ module OrganizationAudit
125
125
  results
126
126
  end
127
127
 
128
- def self.http_get(url, headers, retried: false)
129
- uri = URI(url)
130
- request = Net::HTTP::Get.new(uri, headers)
131
- http = Net::HTTP.new(uri.hostname, uri.port)
132
- http.use_ssl = true if uri.instance_of? URI::HTTPS
133
- response =
134
- begin
135
- http.start { |http| http.request(request) }
136
- rescue
137
- raise RequestError.new("#{$!.class} error during request #{url}", url)
128
+ def self.http_get(url, headers)
129
+ tries = 3
130
+ tries.times do |i|
131
+ uri = URI(url)
132
+ request = Net::HTTP::Get.new(uri, headers)
133
+ http = Net::HTTP.new(uri.hostname, uri.port)
134
+ http.use_ssl = true if uri.instance_of? URI::HTTPS
135
+ response =
136
+ begin
137
+ http.start { |http| http.request(request) }
138
+ rescue
139
+ raise RequestError.new("#{$!.class} error during request #{url}", url)
140
+ end
141
+
142
+ return response.body if response.code == '200'
143
+
144
+ # github sends 403 with 0-limit header when rate limit is exceeded
145
+ if i < (tries - 1) && response["x-ratelimit-remaining"] == "0"
146
+ wait = Integer(response["x-ratelimit-reset"]) - Time.now.to_i
147
+ warn "Github rate limit exhausted, retrying in #{wait}"
148
+ sleep wait + 60 # wait more in case our time drifts
149
+ else
150
+ raise RequestError.new("HTTP get error, retried #{i} times", url, response.code, response.body)
138
151
  end
139
-
140
- return response.body if response.code == '200'
141
-
142
- # github sends 403 with 0-limit header when rate limit is exceeded
143
- if !retried && response["x-ratelimit-remaining"] == "0"
144
- wait = Integer(response["x-ratelimit-reset"]) - Time.now.to_i
145
- warn "Github rate limit exhausted, retrying in #{wait}"
146
- sleep wait + 60 # wait more in case our time drifts
147
- return http_get(url, headers, retried: true)
148
152
  end
149
-
150
- raise RequestError.new("HTTP get error", url, response.code, response.body)
151
153
  end
152
154
 
153
155
  def branch
@@ -1,3 +1,3 @@
1
1
  module OrganizationAudit
2
- VERSION = "2.1.0"
2
+ VERSION = "2.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: organization_audit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-07 00:00:00.000000000 Z
11
+ date: 2020-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json