From 2c447a42f29a05b8067444338248e344b3705cd0 Mon Sep 17 00:00:00 2001 From: Samantaz Fox Date: Tue, 16 Nov 2021 21:40:35 +0100 Subject: [PATCH] Make sure to only apply fix if QUIC is disabled --- src/invidious/yt_backend/youtube_api.cr | 28 ++++++++++++++----------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/invidious/yt_backend/youtube_api.cr b/src/invidious/yt_backend/youtube_api.cr index 4973e4de..b26af8d1 100644 --- a/src/invidious/yt_backend/youtube_api.cr +++ b/src/invidious/yt_backend/youtube_api.cr @@ -425,19 +425,23 @@ module YoutubeAPI ) end - # Decompress the body ourselves, given that auto-decompress is - # broken in the Crystal stdlib. - # Read more: - # - https://github.com/iv-org/invidious/issues/2612 - # - https://github.com/crystal-lang/crystal/issues/11354 - # - case response.headers["Content-Encoding"]? - when "gzip" - body = Compress::Gzip::Reader.new(response.body_io, sync_close: true) - when "deflate" - body = Compress::Deflate::Reader.new(response.body_io, sync_close: true) - else + if {{ !flag?(:disable_quic) }} && CONFIG.use_quic body = response.body + else + # Decompress the body ourselves, when using HTTP::Client given that + # auto-decompress is broken in the Crystal stdlib. + # Read more: + # - https://github.com/iv-org/invidious/issues/2612 + # - https://github.com/crystal-lang/crystal/issues/11354 + # + case response.headers["Content-Encoding"]? + when "gzip" + body = Compress::Gzip::Reader.new(response.body_io, sync_close: true) + when "deflate" + body = Compress::Deflate::Reader.new(response.body_io, sync_close: true) + else + body = response.body + end end # Convert result to Hash