From b71539449eaae8d14cb933217402e8a722d9cb3d Mon Sep 17 00:00:00 2001 From: Fijxu Date: Fri, 20 Jun 2025 16:38:12 -0400 Subject: [PATCH] chore: make companion pool a class and store their companion instance --- src/invidious/yt_backend/connection_pool.cr | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/invidious/yt_backend/connection_pool.cr b/src/invidious/yt_backend/connection_pool.cr index 4c7227c4..58987934 100644 --- a/src/invidious/yt_backend/connection_pool.cr +++ b/src/invidious/yt_backend/connection_pool.cr @@ -46,8 +46,9 @@ struct YoutubeConnectionPool end end -struct CompanionConnectionPool +class CompanionConnectionPool property pool : DB::Pool(HTTP::Client) + property companion : URI def initialize(companion, capacity = 5, timeout = 5.0) options = DB::Pool::Options.new( @@ -57,8 +58,10 @@ struct CompanionConnectionPool checkout_timeout: timeout ) + @companion = companion.private_url + @pool = DB::Pool(HTTP::Client).new(options) do - next make_client(companion.private_url, use_http_proxy: false) + next make_client(@companion, use_http_proxy: false) end end @@ -70,10 +73,7 @@ struct CompanionConnectionPool rescue ex conn.close - scheme = "https" if conn.tls || "http" - same_companion = "#{scheme}://#{conn.host}:#{conn.port}" - - conn = make_client(URI.parse(same_companion), use_http_proxy: false) + conn = make_client(@companion, use_http_proxy: false) response = yield conn ensure