diff --git a/lib/browse_everything/driver/s3.rb b/lib/browse_everything/driver/s3.rb index 018bf607..45d5df55 100644 --- a/lib/browse_everything/driver/s3.rb +++ b/lib/browse_everything/driver/s3.rb @@ -61,11 +61,19 @@ def details(path) def link_for(path) obj = bucket.object(full_path(path)) - case config[:response_type].to_sym - when :signed_url then obj.presigned_url(:get, expires_in: config[:expires_in]) - when :public_url then obj.public_url - when :s3_uri then "s3://#{obj.bucket_name}/#{obj.key}" - end + + extras = { + file_name: File.basename(path), + expires: (config[:expires_in] if config[:response_type] == :signed_url) + } + + url = case config[:response_type].to_sym + when :signed_url then obj.presigned_url(:get, expires_in: config[:expires_in]) + when :public_url then obj.public_url + when :s3_uri then "s3://#{obj.bucket_name}/#{obj.key}" + end + + [url, extras] end def authorized?