Mir ist aufgefallen, dass bei der Verwendung von Discourse Videolinks, die größer als 5 MB sind, kein Onebox generieren.
Wenn ich mir die Protokolle ansehe, tritt der Fehler hier auf:
/var/www/discourse/lib/final_destination.rb:249:in `block in resolve'
Ich habe final_destination.rb überprüft und folgenden Code gefunden:
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
Allerdings funktioniert Onebox auf anderen Discourse-Seiten – sowohl im offiziellen Forum als auch auf einer anderen Discourse-Seite, die ich betreue – für Videos, die größer als 5 MB sind, einwandfrei.
Ich kann bestätigen, dass auf meiner anderen Discourse-Seite MAX_REQUEST_SIZE_BYTES in keiner Weise geändert wurde.
Könnte mir jemand erklären, warum das passiert und wie ich das beheben kann?