Merge pull request #1445 from betagouv/cellar_improve_range_query

CleverCloud Cellar Compatible range query
This commit is contained in:
gregoirenovel 2018-02-15 17:53:09 +01:00 committed by GitHub
commit 389760fc17
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,9 +1,12 @@
# Monkey patch ActiveStorage to make Range query compatible with CleverCloud Cellar
#
# FIXME : remove when better fix is available
ActiveStorage::Identification.class_eval do
def apply
# Monkey patch ActiveStorage to trust the user-submitted content type rather than determining
# it from the file contents, because Cellar does not seem to support the Range header
#
# FIXME : remove when better fix is available
blob.update!(content_type: declared_content_type, identified: true) unless blob.identified?
private
def identifiable_chunk
Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |client|
client.get(uri, "Range" => "bytes=0-4096").body
end
end
end