aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage/app/controllers/active_storage/variants_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activestorage/app/controllers/active_storage/variants_controller.rb')
-rw-r--r--activestorage/app/controllers/active_storage/variants_controller.rb19
1 files changed, 3 insertions, 16 deletions
diff --git a/activestorage/app/controllers/active_storage/variants_controller.rb b/activestorage/app/controllers/active_storage/variants_controller.rb
index 02e3010626..dc5e78ecc0 100644
--- a/activestorage/app/controllers/active_storage/variants_controller.rb
+++ b/activestorage/app/controllers/active_storage/variants_controller.rb
@@ -6,24 +6,11 @@
# authenticated redirection controller.
class ActiveStorage::VariantsController < ActionController::Base
def show
- if blob = find_signed_blob
- expires_in 5.minutes # service_url defaults to 5 minutes
- redirect_to ActiveStorage::Variant.new(blob, decoded_variation).processed.service_url(disposition: disposition_param)
+ if blob = ActiveStorage::Blob.find_signed(params[:signed_blob_id])
+ expires_in ActiveStorage::Blob.service.url_expires_in
+ redirect_to ActiveStorage::Variant.new(blob, params[:variation_key]).processed.service_url(disposition: params[:disposition])
else
head :not_found
end
end
-
- private
- def find_signed_blob
- ActiveStorage::Blob.find_signed(params[:signed_blob_id])
- end
-
- def decoded_variation
- ActiveStorage::Variation.decode(params[:variation_key])
- end
-
- def disposition_param
- params[:disposition].presence_in(%w( inline attachment )) || "inline"
- end
end