Adds the HttpError exception - Fixes #792

This commit is contained in:
erwanlr
2015-04-03 16:22:28 +01:00
parent 5b94714ca7
commit 413ee7a6d3
2 changed files with 29 additions and 4 deletions

View File

@@ -36,8 +36,7 @@ class DbUpdater
url = "#{remote_file_url(filename)}.sha512"
res = Browser.get(url, request_params)
additional_text = res.code == 0 ? res.return_message : "return code #{res.code}"
fail "Unable to get #{url} (#{additional_text})" unless res.code == 200
fail DownloadError, res unless res.code == 200
res.body
end
@@ -73,8 +72,7 @@ class DbUpdater
file_url = remote_file_url(filename)
res = Browser.get(file_url, request_params)
additional_text = res.code == 0 ? res.return_message : "return code #{res.code}"
fail "Error while downloading #{file_url} (#{additional_text})" unless res.code == 200
fail DownloadError, res unless res.code == 200
File.open(file_path, 'wb') { |f| f.write(res.body) }
local_file_checksum(filename)

27
lib/common/errors.rb Normal file
View File

@@ -0,0 +1,27 @@
# HTTP Error
class HttpError < StandardError
attr_reader :response
# @param [ Typhoeus::Response ] res
def initialize(response)
@response = response
end
def failure_details
msg = response.effective_url
msg += response.code == 0 ? " (#{response.return_message})" : " (status: #{response.code})"
msg
end
def message
"HTTP Error: #{failure_details}"
end
end
# Used in the Updater
class DownloadError < HttpError
def message
"Unable to get #{failure_details}"
end
end