mirror of
https://0xacab.org/sutty/sutty
synced 2025-03-14 17:18:20 +00:00
Merge branch 'issue-17889' into production.panel.sutty.nl
This commit is contained in:
commit
617e4ced1f
1 changed files with 20 additions and 10 deletions
|
@ -11,7 +11,7 @@ module ActiveStorage
|
|||
# Permitir incrustar archivos subidos (especialmente PDFs) desde
|
||||
# otros sitios.
|
||||
def show
|
||||
original_show.tap do |s|
|
||||
original_show.tap do |_s|
|
||||
response.headers.delete 'X-Frame-Options'
|
||||
end
|
||||
end
|
||||
|
@ -24,20 +24,28 @@ module ActiveStorage
|
|||
if (token = decode_verified_token)
|
||||
if acceptable_content?(token)
|
||||
blob = ActiveStorage::Blob.find_by_key! token[:key]
|
||||
site = Site.find_by_name token[:service_name]
|
||||
site = Site.find_by_name! token[:service_name]
|
||||
|
||||
if remote_file?(token)
|
||||
url = request.body.read
|
||||
body = Down.download(url, max_size: 111.megabytes)
|
||||
checksum = Digest::MD5.file(body.path).base64digest
|
||||
blob.metadata[:url] = url
|
||||
blob.update_columns checksum: checksum, byte_size: body.size, metadata: blob.metadata
|
||||
begin
|
||||
url = request.body.read
|
||||
body = Down.download(url, max_size: 111.megabytes)
|
||||
checksum = Digest::MD5.file(body.path).base64digest
|
||||
blob.metadata[:url] = url
|
||||
blob.update_columns checksum:, byte_size: body.size, metadata: blob.metadata
|
||||
rescue StandardError => e
|
||||
ExceptionNotifier.notify_exception(e, data: { key: token[:key], url:, site: site.name })
|
||||
|
||||
head :content_too_large
|
||||
|
||||
return
|
||||
end
|
||||
else
|
||||
body = request.body
|
||||
checksum = token[:checksum]
|
||||
end
|
||||
|
||||
named_disk_service(token[:service_name]).upload token[:key], body, checksum: checksum
|
||||
named_disk_service(site.name).upload(token[:key], body, checksum:)
|
||||
|
||||
site.static_files.attach(blob)
|
||||
else
|
||||
|
@ -46,7 +54,9 @@ module ActiveStorage
|
|||
else
|
||||
head :not_found
|
||||
end
|
||||
rescue ActiveStorage::IntegrityError
|
||||
rescue ActiveRecord::ActiveRecordError, ActiveStorage::Error => e
|
||||
ExceptionNotifier.notify_exception(e, data: { token: })
|
||||
|
||||
head :unprocessable_entity
|
||||
rescue Down::Error => e
|
||||
ExceptionNotifier.notify_exception(e, data: { key: token[:key], url: url, site: site.name })
|
||||
|
@ -62,7 +72,7 @@ module ActiveStorage
|
|||
|
||||
def page_not_found(exception)
|
||||
head :not_found
|
||||
ExceptionNotifier.notify_exception(exception, data: {params: params.to_hash})
|
||||
ExceptionNotifier.notify_exception(exception, data: { params: params.to_hash })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue