Module: URI
- Defined in:
- lib/epitools/core_ext/uri.rb
Instance Method Summary collapse
-
#get(headers = {}, redirect_limit = 10) ⇒ Object
Get this URI using Net::HTTP.
Instance Method Details
#get(headers = {}, redirect_limit = 10) ⇒ Object
Get this URI using Net::HTTP
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/epitools/core_ext/uri.rb', line 64 def get(headers={}, redirect_limit=10) raise "Sorry, URI can't get from #{scheme.inspect} URIs yet" unless scheme =~ /^https?$/ raise 'Too many HTTP redirections' if redirect_limit == 0 # headers['User-Agent'] ||= USER_AGENT # response = Net::HTTP.start(host, port) do |http| # # the_path = path.empty? ? "/" : path # req = Net::HTTP::Get.new(self, headers) # http.request(req) # end response = Net::HTTP.get_response(self) case response when Net::HTTPSuccess response when Net::HTTPRedirection # puts "redirect: #{response['location']}" URI(response['location']).get(headers, redirect_limit-1) else response.error! end end |