diff options
Diffstat (limited to 'lib/active_storage')
-rw-r--r-- | lib/active_storage/direct_uploads_controller.rb | 14 | ||||
-rw-r--r-- | lib/active_storage/disk_controller.rb | 38 |
2 files changed, 0 insertions, 52 deletions
diff --git a/lib/active_storage/direct_uploads_controller.rb b/lib/active_storage/direct_uploads_controller.rb deleted file mode 100644 index 99ff27f903..0000000000 --- a/lib/active_storage/direct_uploads_controller.rb +++ /dev/null @@ -1,14 +0,0 @@ -require "action_controller" -require "active_storage/blob" - -class ActiveStorage::DirectUploadsController < ActionController::Base - def create - blob = ActiveStorage::Blob.create_before_direct_upload!(blob_args) - render json: { url: blob.url_for_direct_upload, sgid: blob.to_sgid.to_param } - end - - private - def blob_args - params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type, :metadata).to_h.symbolize_keys - end -end diff --git a/lib/active_storage/disk_controller.rb b/lib/active_storage/disk_controller.rb deleted file mode 100644 index 16a295d00d..0000000000 --- a/lib/active_storage/disk_controller.rb +++ /dev/null @@ -1,38 +0,0 @@ -require "action_controller" -require "active_storage/blob" -require "active_storage/verified_key_with_expiration" - -require "active_support/core_ext/object/inclusion" - -# This controller is a wrapper around local file downloading. It allows you to -# make abstraction of the URL generation logic and to serve files with expiry -# if you are using the +Disk+ service. -# -# By default, mounting the Active Storage engine inside your application will -# define a +/rails/blobs/:encoded_key/*filename+ route that will reference this -# controller's +show+ action and will be used to serve local files. -# -# A URL for an attachment can be generated through its +#url+ method, that -# will use the aforementioned route. -class ActiveStorage::DiskController < ActionController::Base - def show - if key = decode_verified_key - blob = ActiveStorage::Blob.find_by!(key: key) - - if stale?(etag: blob.checksum) - send_data blob.download, filename: blob.filename, type: blob.content_type, disposition: disposition_param - end - else - head :not_found - end - end - - private - def decode_verified_key - ActiveStorage::VerifiedKeyWithExpiration.decode(params[:encoded_key]) - end - - def disposition_param - params[:disposition].presence_in(%w( inline attachment )) || "inline" - end -end |