mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 04:32:02 +00:00 
			
		
		
		
	Use make_client instead of calling HTTP::Client (#4709)
No related issue
This commit is contained in:
		| @@ -31,9 +31,7 @@ module Invidious::Routes::API::V1::Search | ||||
|     query = env.params.query["q"]? || "" | ||||
|  | ||||
|     begin | ||||
|       client = HTTP::Client.new("suggestqueries-clients6.youtube.com") | ||||
|       client.before_request { |r| add_yt_headers(r) } | ||||
|  | ||||
|       client = make_client(URI.parse("https://suggestqueries-clients6.youtube.com"), force_youtube_headers: true) | ||||
|       url = "/complete/search?client=youtube&hl=en&gl=#{region}&q=#{URI.encode_www_form(query)}&gs_ri=youtube&ds=yt" | ||||
|  | ||||
|       response = client.get(url).body | ||||
|   | ||||
| @@ -23,11 +23,8 @@ struct YoutubeConnectionPool | ||||
|     rescue ex | ||||
|       conn.close | ||||
|  | ||||
|       conn = HTTP::Client.new(url) | ||||
|       conn.proxy = make_configured_http_proxy_client() if CONFIG.http_proxy | ||||
|       conn.family = CONFIG.force_resolve | ||||
|       conn.family = Socket::Family::INET if conn.family == Socket::Family::UNSPEC | ||||
|       conn.before_request { |r| add_yt_headers(r) } if url.host == "www.youtube.com" | ||||
|       conn = make_client(url, force_resolve: true) | ||||
|  | ||||
|       response = yield conn | ||||
|     ensure | ||||
|       pool.release(conn) | ||||
| @@ -38,11 +35,7 @@ struct YoutubeConnectionPool | ||||
|  | ||||
|   private def build_pool | ||||
|     DB::Pool(HTTP::Client).new(initial_pool_size: 0, max_pool_size: capacity, max_idle_pool_size: capacity, checkout_timeout: timeout) do | ||||
|       conn = HTTP::Client.new(url) | ||||
|       conn.family = CONFIG.force_resolve | ||||
|       conn.family = Socket::Family::INET if conn.family == Socket::Family::UNSPEC | ||||
|       conn.before_request { |r| add_yt_headers(r) } if url.host == "www.youtube.com" | ||||
|       conn | ||||
|       next make_client(url, force_resolve: true) | ||||
|     end | ||||
|   end | ||||
| end | ||||
| @@ -62,15 +55,17 @@ def add_yt_headers(request) | ||||
|   end | ||||
| end | ||||
|  | ||||
| def make_client(url : URI, region = nil, force_resolve : Bool = false) | ||||
| def make_client(url : URI, region = nil, force_resolve : Bool = false, force_youtube_headers : Bool = false) | ||||
|   client = HTTP::Client.new(url) | ||||
|   client.proxy = make_configured_http_proxy_client() if CONFIG.http_proxy | ||||
|  | ||||
|   # Force the usage of a specific configured IP Family | ||||
|   if force_resolve | ||||
|     client.family = CONFIG.force_resolve | ||||
|     client.family = Socket::Family::INET if client.family == Socket::Family::UNSPEC | ||||
|   end | ||||
|  | ||||
|   client.before_request { |r| add_yt_headers(r) } if url.host == "www.youtube.com" | ||||
|   client.before_request { |r| add_yt_headers(r) } if url.host.try &.ends_with?("youtube.com") || force_youtube_headers | ||||
|   client.read_timeout = 10.seconds | ||||
|   client.connect_timeout = 10.seconds | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Samantaz Fox
					Samantaz Fox