Adds the HttpError exception - Fixes #792
This commit is contained in:
@@ -36,8 +36,7 @@ class DbUpdater
|
|||||||
url = "#{remote_file_url(filename)}.sha512"
|
url = "#{remote_file_url(filename)}.sha512"
|
||||||
|
|
||||||
res = Browser.get(url, request_params)
|
res = Browser.get(url, request_params)
|
||||||
additional_text = res.code == 0 ? res.return_message : "return code #{res.code}"
|
fail DownloadError, res unless res.code == 200
|
||||||
fail "Unable to get #{url} (#{additional_text})" unless res.code == 200
|
|
||||||
res.body
|
res.body
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -73,8 +72,7 @@ class DbUpdater
|
|||||||
file_url = remote_file_url(filename)
|
file_url = remote_file_url(filename)
|
||||||
|
|
||||||
res = Browser.get(file_url, request_params)
|
res = Browser.get(file_url, request_params)
|
||||||
additional_text = res.code == 0 ? res.return_message : "return code #{res.code}"
|
fail DownloadError, res unless res.code == 200
|
||||||
fail "Error while downloading #{file_url} (#{additional_text})" unless res.code == 200
|
|
||||||
File.open(file_path, 'wb') { |f| f.write(res.body) }
|
File.open(file_path, 'wb') { |f| f.write(res.body) }
|
||||||
|
|
||||||
local_file_checksum(filename)
|
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