Class: ActiveStorage::Representations::ProxyController

Inherits:
BaseController
  • Object
show all
Includes:
DisableSession, Streaming
Defined in:
activestorage/app/controllers/active_storage/representations/proxy_controller.rb

Overview

Proxy files through application. This avoids having a redirect and makes files easier to cache.

WARNING: All Active Storage controllers are publicly accessible by default. The generated URLs are hard to guess, but permanent by design. If your files require a higher level of protection consider implementing Authenticated Controllers.

Constant Summary

Constants included from Streaming

Streaming::DEFAULT_BLOB_STREAMING_DISPOSITION

Constants included from ActionController::DataStreaming

ActionController::DataStreaming::DEFAULT_SEND_FILE_DISPOSITION, ActionController::DataStreaming::DEFAULT_SEND_FILE_TYPE

Constants included from ActionController::Rendering

ActionController::Rendering::RENDER_FORMATS_IN_PRIORITY

Instance Method Summary collapse

Methods included from ActiveSupport::Concern

#append_features, #class_methods, extended, #included, #prepend_features, #prepended

Methods included from ActionController::Live

#process, #response_body=, #send_stream

Methods included from ActionController::Rendering

#render, #render_to_body, #render_to_string

Instance Method Details

#showObject



13
14
15
16
17
# File 'activestorage/app/controllers/active_storage/representations/proxy_controller.rb', line 13

def show
  http_cache_forever public: true do
    send_blob_stream @representation.image, disposition: params[:disposition]
  end
end