mirror of
https://github.com/iv-org/invidious.git
synced 2025-07-09 21:55:47 -05:00
Disable auto reconnect for companion pool clients
This commit is contained in:
parent
5bc6d11d5e
commit
0270917756
@ -115,7 +115,7 @@ COMPANION_POOL = Invidious::ConnectionPool::Pool.new(
|
|||||||
reinitialize_proxy: false
|
reinitialize_proxy: false
|
||||||
) do
|
) do
|
||||||
companion = CONFIG.invidious_companion.sample
|
companion = CONFIG.invidious_companion.sample
|
||||||
next make_client(companion.private_url, use_http_proxy: false)
|
next make_client(companion.private_url, use_http_proxy: false, allow_auto_reconnect: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
# CLI
|
# CLI
|
||||||
|
@ -12,6 +12,15 @@ module Invidious
|
|||||||
end
|
end
|
||||||
|
|
||||||
class HTTPClient < HTTP::Client
|
class HTTPClient < HTTP::Client
|
||||||
|
def initialize(uri : URI, tls : TLSContext = nil, allow_auto_reconnect : Bool = true)
|
||||||
|
tls = HTTP::Client.tls_flag(uri, tls)
|
||||||
|
host = HTTP::Client.validate_host(uri)
|
||||||
|
|
||||||
|
super(host, uri.port, tls)
|
||||||
|
|
||||||
|
@reconnect = allow_auto_reconnect
|
||||||
|
end
|
||||||
|
|
||||||
def initialize(uri : URI, tls : TLSContext = nil, force_resolve : Socket::Family = Socket::Family::UNSPEC)
|
def initialize(uri : URI, tls : TLSContext = nil, force_resolve : Socket::Family = Socket::Family::UNSPEC)
|
||||||
tls = HTTP::Client.tls_flag(uri, tls)
|
tls = HTTP::Client.tls_flag(uri, tls)
|
||||||
|
|
||||||
@ -72,14 +81,21 @@ def add_yt_headers(request)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def make_client(url : URI, region = nil, force_resolve : Bool = false, force_youtube_headers : Bool = true, use_http_proxy : Bool = true)
|
def make_client(
|
||||||
|
url : URI,
|
||||||
|
region = nil,
|
||||||
|
force_resolve : Bool = false,
|
||||||
|
force_youtube_headers : Bool = true,
|
||||||
|
use_http_proxy : Bool = true,
|
||||||
|
allow_auto_reconnect : Bool = true,
|
||||||
|
)
|
||||||
if CONFIG.http_proxy && use_http_proxy
|
if CONFIG.http_proxy && use_http_proxy
|
||||||
client = Invidious::HTTPClient.new(url)
|
client = Invidious::HTTPClient.new(url)
|
||||||
client.proxy = make_configured_http_proxy_client() if CONFIG.http_proxy && use_http_proxy
|
client.proxy = make_configured_http_proxy_client() if CONFIG.http_proxy && use_http_proxy
|
||||||
elsif force_resolve
|
elsif force_resolve
|
||||||
client = Invidious::HTTPClient.new(url, force_resolve: CONFIG.force_resolve)
|
client = Invidious::HTTPClient.new(url, force_resolve: CONFIG.force_resolve)
|
||||||
else
|
else
|
||||||
client = Invidious::HTTPClient.new(url)
|
client = Invidious::HTTPClient.new(url, allow_auto_reconnect: allow_auto_reconnect)
|
||||||
end
|
end
|
||||||
|
|
||||||
client.before_request { |r| add_yt_headers(r) } if url.host.try &.ends_with?("youtube.com") || force_youtube_headers
|
client.before_request { |r| add_yt_headers(r) } if url.host.try &.ends_with?("youtube.com") || force_youtube_headers
|
||||||
|
Loading…
x
Reference in New Issue
Block a user