class RubyGemReader
Attributes
uri[R]
Public Class Methods
new(uri)
click to toggle source
# File support.rb, line 8 def initialize(uri) @connection = nil @uri = uri.kind_of?(URI::Generic) ? uri : URI(uri.to_s) end
Public Instance Methods
get(path, data={}, content_type='application/x-www-form-urlencoded')
click to toggle source
May raise SourceUnavailableError
if the source can’t be accessed
# File support.rb, line 14 def get(path, data={}, content_type='application/x-www-form-urlencoded') begin request = Net::HTTP::Get.new(path) request.add_field 'Connection', 'keep-alive' request.add_field 'Keep-Alive', '30' request.add_field 'User-Agent', 'github.com/jonathannen/gemfresh' response = connection.request request response.body rescue StandardError => se # For now we assume this is an unavailable repo raise SourceUnavailableError.new(se.message) end end
Private Instance Methods
connection()
click to toggle source
A persistent connection
# File support.rb, line 30 def connection return @connection unless @connection.nil? @connection = Net::HTTP.new self.uri.host, self.uri.port @connection.use_ssl = (uri.scheme == 'https') @connection.start @connection end