From 729ef3386e1fea26d2b623fe6676ebc61df65f9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com>
Date: Fri, 11 Feb 2022 11:22:52 +0100
Subject: [PATCH] public url scaleway with disposition

---
 lib/active_storage/service/scaleway_service.rb | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/active_storage/service/scaleway_service.rb b/lib/active_storage/service/scaleway_service.rb
index 917bfd032..28b7569b9 100644
--- a/lib/active_storage/service/scaleway_service.rb
+++ b/lib/active_storage/service/scaleway_service.rb
@@ -14,5 +14,17 @@ module ActiveStorage
 
       headers.merge({ "Content-Type" => content_type, "Content-MD5" => checksum, "Content-Disposition" => content_disposition })
     end
+
+    private
+
+    def public_url(key, **options)
+      disposition, filename, content_type = options.values_at(:disposition, :filename, :content_type)
+      uri = URI.parse(object_for(key).public_url)
+      uri.query = URI.encode_www_form({
+        "response-content-disposition" => content_disposition_with(type: disposition, filename: filename),
+        "response-content-type" => content_type
+      })
+      uri.to_s
+    end
   end
 end
-- 
GitLab