Merge pull request #80 from insales/replace_addressable_normalize

Заменяем Addressable::URI#normalize на сочетание normalized_host и escape
This commit is contained in:
Nastia
2022-10-13 14:05:33 +03:00
committed by GitHub

View File

@@ -189,14 +189,16 @@ module Paperclip
# К ссылке, сформированной по паттерну (например, через наш CDN), добавляем параметры с подписью
def presigned_url(style)
uri = Addressable::URI.parse(storage_url(style))
uri.host = uri.normalized_host # punycode домена
basic_params = uri.query_values || {}
presign_params = Addressable::URI.parse(
self.class.store_by(self.class.main_store_id).object(key(style)).presigned_url(:get)
).query_values
result_params = basic_params.merge(presign_params)
uri.query_values = result_params
uri.normalize.to_s
uri.query_values = result_params # тут addressable сам заэскейпит параметры
uri.path = Addressable::URI.escape(uri.path)
uri.to_s
end
def synced_to?(store_id)