diff options
| -rw-r--r-- | lib/license_finder/package_utils/pypi.rb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/license_finder/package_utils/pypi.rb b/lib/license_finder/package_utils/pypi.rb index cfe3d66..e1617ee 100644 --- a/lib/license_finder/package_utils/pypi.rb +++ b/lib/license_finder/package_utils/pypi.rb @@ -7,14 +7,17 @@ module LicenseFinder class << self def definition(name, version) url = "https://pypi.org/pypi/#{name}/#{version}/json" - response = Net::Hippie::Client.new.tap do |client| - client.follow_redirects = 3 - client.with_retry { |x| x.get(url) } - end + response = http.with_retry { |client| client.get(url) } response.is_a?(Net::HTTPSuccess) ? JSON.parse(response.body).fetch('info', {}) : {} rescue *Net::Hippie::CONNECTION_ERRORS {} end + + def http + @http ||= Net::Hippie::Client.new.tap do |client| + client.follow_redirects = 3 + end + end end end end |
