diff options
Diffstat (limited to 'app/uploaders/object_storage/s3.rb')
-rw-r--r-- | app/uploaders/object_storage/s3.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/uploaders/object_storage/s3.rb b/app/uploaders/object_storage/s3.rb new file mode 100644 index 00000000000..063af8b5389 --- /dev/null +++ b/app/uploaders/object_storage/s3.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module ObjectStorage + module S3 + def self.signed_head_url(file) + fog_storage = ::Fog::Storage.new(file.fog_credentials) + fog_dir = fog_storage.directories.new(key: file.fog_directory) + fog_file = fog_dir.files.new(key: file.path) + expire_at = ::Fog::Time.now + file.fog_authenticated_url_expiration + + fog_file.collection.head_url(fog_file.key, expire_at) + end + end +end |