summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/license/management/pypi.rb40
-rw-r--r--license-management.gemspec2
2 files changed, 8 insertions, 34 deletions
diff --git a/lib/license/management/pypi.rb b/lib/license/management/pypi.rb
index 3c7e0ff..c0254e6 100644
--- a/lib/license/management/pypi.rb
+++ b/lib/license/management/pypi.rb
@@ -13,33 +13,18 @@ module License
end
def definition_for(name, version)
- uri = URI.parse("https://pypi.org/pypi/#{name}/#{version}/json")
- definition = process(http.with_retry { |client| client.get(uri, headers: { 'Host' => uri.host }) })
- log_info([name, version, definition["license"]].inspect)
- definition
+ uri = "https://pypi.org/pypi/#{name}/#{version}/json"
+ process(http.get(uri)).tap do |definition|
+ log_info([name, version, definition["license"]].inspect)
+ end
rescue *Net::Hippie::CONNECTION_ERRORS
{}
end
class << self
- #def definition(name, version)
- #@pypi ||= new
- #@pypi.definition_for(name, version)
- #end
-
def definition(name, version)
- response = request("https://pypi.org/pypi/#{name}/#{version}/json")
- response.is_a?(Net::HTTPSuccess) ? JSON.parse(response.body).fetch('info', {}) : {}
- rescue *Net::Hippie::CONNECTION_ERRORS
- {}
- end
-
- def request(location, limit = 10)
- uri = URI(location)
- http = Net::HTTP.new(uri.host, uri.port)
- http.use_ssl = true
- response = http.get(uri.request_uri).response
- response.is_a?(Net::HTTPRedirection) && limit.positive? ? request(response['location'], limit - 1) : response
+ @pypi ||= new
+ @pypi.definition_for(name, version)
end
end
@@ -53,23 +38,12 @@ module License
end
def default_http
- @default_http ||= Net::Hippie::Client.new(headers: default_headers).tap do |client|
+ @default_http ||= Net::Hippie::Client.new.tap do |client|
client.logger = ::Logger.new('http.log')
client.follow_redirects = 3
end
end
- def user_agent
- "https://gitlab.com/gitlab-org/security-products/license-management #{License::Management::VERSION}"
- end
-
- def default_headers
- {
- 'User-Agent' => user_agent,
- 'Accept' => '*/*',
- }
- end
-
def ok?(response)
response.is_a?(Net::HTTPSuccess)
end
diff --git a/license-management.gemspec b/license-management.gemspec
index 46278f0..492fd2d 100644
--- a/license-management.gemspec
+++ b/license-management.gemspec
@@ -28,6 +28,6 @@ Gem::Specification.new do |spec|
spec.require_paths = ['lib']
spec.add_dependency 'license_finder', '~> 5.11'
- spec.add_dependency 'net-hippie', '~> 0.2'
+ spec.add_dependency 'net-hippie', '~> 0.3'
spec.add_development_dependency 'rspec', '~> 3.9'
end