mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 12:42:09 +00:00 
			
		
		
		
	Fix broken connections in pool
This commit is contained in:
		| @@ -1595,7 +1595,9 @@ struct HTTPPool | ||||
|   end | ||||
|  | ||||
|   def client(region = nil, &block) | ||||
|     pool.connection do |conn| | ||||
|     conn = pool.checkout | ||||
|  | ||||
|     begin | ||||
|       if region | ||||
|         PROXY_LIST[region]?.try &.sample(40).each do |proxy| | ||||
|           begin | ||||
| @@ -1607,17 +1609,17 @@ struct HTTPPool | ||||
|         end | ||||
|       end | ||||
|  | ||||
|       begin | ||||
|         response = yield conn | ||||
|         conn.unset_proxy | ||||
|         response | ||||
|       rescue ex | ||||
|         conn = HTTPClient.new(url) | ||||
|         conn.family = (url.host == "www.youtube.com") ? CONFIG.force_resolve : Socket::Family::UNSPEC | ||||
|         conn.read_timeout = 5.seconds | ||||
|         conn.connect_timeout = 5.seconds | ||||
|         yield conn | ||||
|       end | ||||
|       response = yield conn | ||||
|       conn.unset_proxy | ||||
|       response | ||||
|     rescue ex | ||||
|       conn = HTTPClient.new(url) | ||||
|       conn.family = (url.host == "www.youtube.com") ? CONFIG.force_resolve : Socket::Family::UNSPEC | ||||
|       conn.read_timeout = 5.seconds | ||||
|       conn.connect_timeout = 5.seconds | ||||
|       yield conn | ||||
|     ensure | ||||
|       pool.checkin(conn) | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth