From d817ab1431e2c90783ac911d35a5ec1679d1ba14 Mon Sep 17 00:00:00 2001 From: sergiobuilds Date: Wed, 12 Aug 2026 02:23:19 +0900 Subject: [PATCH] Handle companion stream failures after commit --- src/invidious/routes/companion.cr | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/invidious/routes/companion.cr b/src/invidious/routes/companion.cr index 883e4b64..034240e2 100644 --- a/src/invidious/routes/companion.cr +++ b/src/invidious/routes/companion.cr @@ -13,6 +13,7 @@ module Invidious::Routes::Companion end end rescue ex + LOGGER.warn("Companion GET upstream request failed: #{ex.class}") env.response.status_code = 502 return env.response.print("502 Bad Gateway") end @@ -32,6 +33,7 @@ module Invidious::Routes::Companion end end rescue ex + LOGGER.warn("Companion POST upstream request failed: #{ex.class}") env.response.status_code = 502 return env.response.print("502 Bad Gateway") end @@ -50,6 +52,7 @@ module Invidious::Routes::Companion end end rescue ex + LOGGER.warn("Companion OPTIONS upstream request failed: #{ex.class}") env.response.status_code = 502 return env.response.print("502 Bad Gateway") end @@ -61,6 +64,12 @@ module Invidious::Routes::Companion env.response.headers[key] = value end - return IO.copy response.body_io, env.response + begin + return IO.copy response.body_io, env.response + rescue ex + LOGGER.warn("Companion response stream failed: #{ex.class}") + env.response.close unless env.response.closed? + return + end end end