Change S3 checksum mode to be disabled by default (#27007)

pull/27018/head
Claire 2 years ago committed by GitHub
parent bb6c59a399
commit 8acc75435b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -91,28 +91,26 @@ if ENV['S3_ENABLED'] == 'true'
# Some S3-compatible providers might not actually be compatible with some APIs # Some S3-compatible providers might not actually be compatible with some APIs
# used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822 # used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
# and https://github.com/mastodon/mastodon/issues/26394 # and https://github.com/mastodon/mastodon/issues/26394
if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true' || ENV['S3_DISABLE_CHECKSUM_MODE'] == 'true' module Paperclip
module Paperclip module Storage
module Storage module S3Extensions
module S3Extensions def copy_to_local_file(style, local_dest_path)
def copy_to_local_file(style, local_dest_path) log("copying #{path(style)} to local file #{local_dest_path}")
log("copying #{path(style)} to local file #{local_dest_path}")
options = {}
options = {} options[:mode] = 'single_request' if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
options[:mode] = 'single_request' if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true' options[:checksum_mode] = 'DISABLED' unless ENV['S3_ENABLE_CHECKSUM_MODE'] == 'true'
options[:checksum_mode] = 'DISABLED' if ENV['S3_DISABLE_CHECKSUM_MODE'] == 'true'
s3_object(style).download_file(local_dest_path, options)
s3_object(style).download_file(local_dest_path, options) rescue Aws::Errors::ServiceError => e
rescue Aws::Errors::ServiceError => e warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}") false
false
end
end end
end end
end end
Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
end end
Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
elsif ENV['SWIFT_ENABLED'] == 'true' elsif ENV['SWIFT_ENABLED'] == 'true'
require 'fog/openstack' require 'fog/openstack'

Loading…
Cancel
Save