fix: s3_force_single_request not parsed (#17922)
				
					
				
			This commit is contained in:
		
							parent
							
								
									44b7be45f1
								
							
						
					
					
						commit
						39b489ba4c
					
				@ -27,7 +27,6 @@ require_relative '../lib/sanitize_ext/sanitize_config'
 | 
				
			|||||||
require_relative '../lib/redis/namespace_extensions'
 | 
					require_relative '../lib/redis/namespace_extensions'
 | 
				
			||||||
require_relative '../lib/paperclip/url_generator_extensions'
 | 
					require_relative '../lib/paperclip/url_generator_extensions'
 | 
				
			||||||
require_relative '../lib/paperclip/attachment_extensions'
 | 
					require_relative '../lib/paperclip/attachment_extensions'
 | 
				
			||||||
require_relative '../lib/paperclip/storage_extensions'
 | 
					 | 
				
			||||||
require_relative '../lib/paperclip/lazy_thumbnail'
 | 
					require_relative '../lib/paperclip/lazy_thumbnail'
 | 
				
			||||||
require_relative '../lib/paperclip/gif_transcoder'
 | 
					require_relative '../lib/paperclip/gif_transcoder'
 | 
				
			||||||
require_relative '../lib/paperclip/transcoder'
 | 
					require_relative '../lib/paperclip/transcoder'
 | 
				
			||||||
 | 
				
			|||||||
@ -83,6 +83,26 @@ if ENV['S3_ENABLED'] == 'true'
 | 
				
			|||||||
      s3_host_alias: ENV['S3_ALIAS_HOST'] || ENV['S3_CLOUDFRONT_HOST']
 | 
					      s3_host_alias: ENV['S3_ALIAS_HOST'] || ENV['S3_CLOUDFRONT_HOST']
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Some S3-compatible providers might not actually be compatible with some APIs
 | 
				
			||||||
 | 
					  # used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
 | 
				
			||||||
 | 
					  if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
 | 
				
			||||||
 | 
					    module Paperclip
 | 
				
			||||||
 | 
					      module Storage
 | 
				
			||||||
 | 
					        module S3Extensions
 | 
				
			||||||
 | 
					          def copy_to_local_file(style, local_dest_path)
 | 
				
			||||||
 | 
					            log("copying #{path(style)} to local file #{local_dest_path}")
 | 
				
			||||||
 | 
					            s3_object(style).download_file(local_dest_path, { mode: 'single_request' })
 | 
				
			||||||
 | 
					          rescue Aws::Errors::ServiceError => e
 | 
				
			||||||
 | 
					            warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
 | 
				
			||||||
 | 
					            false
 | 
				
			||||||
 | 
					          end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
elsif ENV['SWIFT_ENABLED'] == 'true'
 | 
					elsif ENV['SWIFT_ENABLED'] == 'true'
 | 
				
			||||||
  require 'fog/openstack'
 | 
					  require 'fog/openstack'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,21 +0,0 @@
 | 
				
			|||||||
# frozen_string_literal: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Some S3-compatible providers might not actually be compatible with some APIs
 | 
					 | 
				
			||||||
# used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
 | 
					 | 
				
			||||||
if ENV['S3_ENABLED'] == 'true' && ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
 | 
					 | 
				
			||||||
  module Paperclip
 | 
					 | 
				
			||||||
    module Storage
 | 
					 | 
				
			||||||
      module S3Extensions
 | 
					 | 
				
			||||||
        def copy_to_local_file(style, local_dest_path)
 | 
					 | 
				
			||||||
          log("copying #{path(style)} to local file #{local_dest_path}")
 | 
					 | 
				
			||||||
          s3_object(style).download_file(local_dest_path, { mode: 'single_request' })
 | 
					 | 
				
			||||||
        rescue Aws::Errors::ServiceError => e
 | 
					 | 
				
			||||||
          warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
 | 
					 | 
				
			||||||
          false
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user