5
0
Fork 0
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:
f 2024-12-18 11:41:01 -03:00
commit 617e4ced1f
No known key found for this signature in database

View file

@ -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