Sha256: b570bc0f5379b3713e149ae2f59c35b11bc97f8123cbebede46a1ea8166d0507

Contents?: true

Size: 621 Bytes

Versions: 49

Compression:

Stored size: 621 Bytes

Contents

require 'open-uri'

# Wrapper around Kernel.open from open-uri
# that can retry and report better errors
def better_open(url, headers=nil, retries=2, &block)
  begin
    # open-uri's open
    headers.nil? ? Kernel.open(url, &block) : Kernel.open(url, headers, &block)
  rescue Errno::ECONNREFUSED, EOFError => e
    if(retries > 0)
      STDERR.puts "Connection refused to #{url} - retrying in 1 sec."
      sleep 1
      better_open(url, headers, retries-1, &block)
    else
      e.message << " (URL:#{url})"
      raise e
    end
  rescue OpenURI::HTTPError => e
    e.message << " (URL:#{url})"
    raise e
  end
end

Version data entries

49 entries across 49 versions & 3 rubygems

Version Path
redcar-dev-0.12.1dev-java lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-dev-0.12.0dev-java lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.11 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.11.0dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.10 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.9.2 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.9.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.9.0 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.8.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.8 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.7 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.6.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.6 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.6.1dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.5.1 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.5 lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.5.6dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.5.5dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.5.4dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb
redcar-0.5.3dev lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb