Ho notato che quando si utilizza Discourse, i link video più grandi di 5MB non riescono a generare un Onebox.
Guardando i log, l’errore si verifica a:
/var/www/discourse/lib/final_destination.rb:249:in `block in resolve'
Ho controllato final_destination.rb e ho trovato il seguente codice:
MAX_REQUEST_SIZE_BYTES = 5_242_880 # 1024 * 1024 * 5
request_start_time = Time.now
response_body = +""
request_validator =
lambda do |chunk, _remaining_bytes, _total_bytes|
response_body << chunk
if response_body.bytesize > MAX_REQUEST_SIZE_BYTES
raise Excon::Errors::ExpectationFailed.new("response size too big: #{@uri}")
end
if Time.now - request_start_time > MAX_REQUEST_TIME_SECONDS
raise Excon::Errors::ExpectationFailed.new("connect timeout reached: #{@uri}")
end
end
Tuttavia, su altri siti Discourse, sia il forum ufficiale che un altro sito Discourse che gestisco, Onebox funziona bene per i video più grandi di 5MB.
Posso confermare che sul mio altro sito Discourse, MAX_REQUEST_SIZE_BYTES non è stato modificato in alcun modo.
Qualcuno può spiegarmi perché sta succedendo questo e come posso risolverlo?