Adds the HttpError exception - Fixes #792
This commit is contained in:
@@ -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
27
lib/common/errors.rb
Normal 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
|
||||
Reference in New Issue
Block a user