class YumS3Sync::HTTPDownloader
Public Class Methods
new(baseurl)
click to toggle source
# File lib/yum_s3_sync/http_downloader.rb, line 6 def initialize(baseurl) @baseurl = baseurl end
Public Instance Methods
download(relative_url)
click to toggle source
# File lib/yum_s3_sync/http_downloader.rb, line 10 def download(relative_url) retries = 0 url = "#{@baseurl}/#{relative_url}" puts "Downloading #{url}" begin open("#{url}") rescue OpenURI::HTTPError => e if e.io.status[0] == '404' raise "File #{url} does not exist 404" end raise e rescue SocketError => e if retries < 10 retries += 1 puts "Error downloading #{url} : #{e.message} retry ##{retries}" sleep(1) retry else puts "Error downloading #{url} : #{e.message}" raise e end end end