organization_audit 2.1.0 → 2.1.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
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