From 0a032fce3c6068858148628749b00d49f29d71af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com>
Date: Fri, 17 Mar 2023 12:06:53 +0100
Subject: [PATCH] before action

---
 app/controllers/media_controller.rb | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/app/controllers/media_controller.rb b/app/controllers/media_controller.rb
index 6d7a51879..0065ebbb8 100644
--- a/app/controllers/media_controller.rb
+++ b/app/controllers/media_controller.rb
@@ -1,12 +1,9 @@
 class MediaController < ApplicationController
   skip_before_action :authenticate_user!
 
+  before_action :load_blob
+
   def show
-    begin
-      @blob = ActiveStorage::Blob.find_signed! params[:signed_id]
-    rescue ActiveSupport::MessageVerifier::InvalidSignature
-      raise ActiveRecord::RecordNotFound
-    end
     @size = @blob.byte_size
     if @blob.variable?
       variant_service = VariantService.compute(@blob, params[:filename_with_transformations], params[:format])
@@ -24,4 +21,14 @@ class MediaController < ApplicationController
     response.headers["Content-Length"] = "#{@size}"
     redirect_to blob_or_variant_url
   end
+
+  protected
+
+  def load_blob
+    begin
+      @blob = ActiveStorage::Blob.find_signed! params[:signed_id]
+    rescue ActiveSupport::MessageVerifier::InvalidSignature
+      raise ActiveRecord::RecordNotFound
+    end
+  end
 end
-- 
GitLab