J’ai remarqué que lors de l’utilisation de Discourse, les liens vidéo de plus de 5 Mo ne parviennent pas à générer de Onebox.
En regardant les journaux, l’erreur se produit à :
/var/www/discourse/lib/final_destination.rb:249:in `block in resolve'
J’ai vérifié final_destination.rb et trouvé le code suivant :
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
Cependant, sur d’autres sites Discourse — à la fois le forum officiel et un autre site Discourse que je gère — le Onebox fonctionne bien pour les vidéos de plus de 5 Mo.
Je peux confirmer que sur mon autre site Discourse, MAX_REQUEST_SIZE_BYTES n’a pas été modifié de quelque manière que ce soit.
Quelqu’un pourrait-il m’expliquer pourquoi cela se produit et comment puis-je le corriger ?