1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Revert "Merge pull request #33667 from cbothner/azure-service-swallowing-all-errors"

This reverts commit b204d167c5, reversing
changes made to de6a200f82.
This commit is contained in:
George Claghorn 2018-08-23 19:07:29 -04:00
parent b204d167c5
commit 3868648cae
2 changed files with 7 additions and 20 deletions

View file

@ -1,10 +1,3 @@
* `ActiveStorage::Service::AzureStorageService` only handles specifically
relevant types of `Azure::Core::Http::HTTPError`. It previously obscured
other types of `HTTPError`, which is the azure-storage gems catch-all
exception class.
*Cameron Bothner*
* `ActiveStorage::DiskController#show` generates a 404 Not Found response when
the requested file is missing from the disk service. It previously raised
`Errno::ENOENT`.

View file

@ -19,8 +19,10 @@ module ActiveStorage
def upload(key, io, checksum: nil)
instrument :upload, key: key, checksum: checksum do
handle_errors do
begin
blobs.create_block_blob(container, key, IO.try_convert(io) || io, content_md5: checksum)
rescue Azure::Core::Http::HTTPError
raise ActiveStorage::IntegrityError
end
end
end
@ -53,8 +55,7 @@ module ActiveStorage
instrument :delete, key: key do
begin
blobs.delete_blob(container, key)
rescue Azure::Core::Http::HTTPError => e
raise unless e.type == "BlobNotFound"
rescue Azure::Core::Http::HTTPError
# Ignore files already deleted
end
end
@ -127,12 +128,8 @@ module ActiveStorage
def blob_for(key)
blobs.get_blob_properties(container, key)
rescue Azure::Core::Http::HTTPError => e
if e.type == "BlobNotFound"
rescue Azure::Core::Http::HTTPError
false
else
raise
end
end
def format_expiry(expires_in)
@ -158,11 +155,8 @@ module ActiveStorage
def handle_errors
yield
rescue Azure::Core::Http::HTTPError => e
case e.type
when "BlobNotFound"
if e.type == "BlobNotFound"
raise ActiveStorage::FileNotFoundError
when "Md5Mismatch"
raise ActiveStorage::IntegrityError
else
raise
end