Skip to content

Commit 0270917

Browse files
committed
Disable auto reconnect for companion pool clients
1 parent 5bc6d11 commit 0270917

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

src/invidious.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ COMPANION_POOL = Invidious::ConnectionPool::Pool.new(
115115
reinitialize_proxy: false
116116
) do
117117
companion = CONFIG.invidious_companion.sample
118-
next make_client(companion.private_url, use_http_proxy: false)
118+
next make_client(companion.private_url, use_http_proxy: false, allow_auto_reconnect: false)
119119
end
120120

121121
# CLI

src/invidious/connection/client.cr

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@ module Invidious
1212
end
1313

1414
class HTTPClient < HTTP::Client
15+
def initialize(uri : URI, tls : TLSContext = nil, allow_auto_reconnect : Bool = true)
16+
tls = HTTP::Client.tls_flag(uri, tls)
17+
host = HTTP::Client.validate_host(uri)
18+
19+
super(host, uri.port, tls)
20+
21+
@reconnect = allow_auto_reconnect
22+
end
23+
1524
def initialize(uri : URI, tls : TLSContext = nil, force_resolve : Socket::Family = Socket::Family::UNSPEC)
1625
tls = HTTP::Client.tls_flag(uri, tls)
1726

@@ -72,14 +81,21 @@ def add_yt_headers(request)
7281
end
7382
end
7483

75-
def make_client(url : URI, region = nil, force_resolve : Bool = false, force_youtube_headers : Bool = true, use_http_proxy : Bool = true)
84+
def make_client(
85+
url : URI,
86+
region = nil,
87+
force_resolve : Bool = false,
88+
force_youtube_headers : Bool = true,
89+
use_http_proxy : Bool = true,
90+
allow_auto_reconnect : Bool = true,
91+
)
7692
if CONFIG.http_proxy && use_http_proxy
7793
client = Invidious::HTTPClient.new(url)
7894
client.proxy = make_configured_http_proxy_client() if CONFIG.http_proxy && use_http_proxy
7995
elsif force_resolve
8096
client = Invidious::HTTPClient.new(url, force_resolve: CONFIG.force_resolve)
8197
else
82-
client = Invidious::HTTPClient.new(url)
98+
client = Invidious::HTTPClient.new(url, allow_auto_reconnect: allow_auto_reconnect)
8399
end
84100

85101
client.before_request { |r| add_yt_headers(r) } if url.host.try &.ends_with?("youtube.com") || force_youtube_headers

0 commit comments

Comments
 (0)