mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[networking] Rewrite architecture (#2861)
New networking interface consists of a `RequestDirector` that directs each `Request` to appropriate `RequestHandler` and returns the `Response` or raises `RequestError`. The handlers define adapters to transform its internal Request/Response/Errors to our interfaces. User-facing changes: - Fix issues with per request proxies on redirects for urllib - Support for `ALL_PROXY` environment variable for proxy setting - Support for `socks5h` proxy - Closes https://github.com/yt-dlp/yt-dlp/issues/6325, https://github.com/ytdl-org/youtube-dl/issues/22618, https://github.com/ytdl-org/youtube-dl/pull/28093 - Raise error when using `https` proxy instead of silently converting it to `http` Authored by: coletdjnz
This commit is contained in:
		| @@ -10,16 +10,16 @@ del passthrough_module | ||||
| 
 | ||||
| 
 | ||||
| from ._utils import preferredencoding | ||||
| from ..networking._urllib import HTTPHandler | ||||
| 
 | ||||
| # isort: split | ||||
| from .networking import random_user_agent, std_headers  # noqa: F401 | ||||
| from ..networking._urllib import PUTRequest  # noqa: F401 | ||||
| from ..networking._urllib import SUPPORTED_ENCODINGS, HEADRequest  # noqa: F401 | ||||
| from ..networking._urllib import HTTPHandler as YoutubeDLHandler  # noqa: F401 | ||||
| from ..networking._urllib import ProxyHandler as PerRequestProxyHandler  # noqa: F401 | ||||
| from ..networking._urllib import RedirectHandler as YoutubeDLRedirectHandler  # noqa: F401 | ||||
| from ..networking._urllib import make_socks_conn_class, update_Request  # noqa: F401 | ||||
| from ..networking.exceptions import network_exceptions  # noqa: F401 | ||||
| from .networking import random_user_agent, std_headers  # noqa: F401 | ||||
| 
 | ||||
| 
 | ||||
| def encodeFilename(s, for_subprocess=False): | ||||
| @@ -47,3 +47,12 @@ def decodeOption(optval): | ||||
| 
 | ||||
| def error_to_compat_str(err): | ||||
|     return str(err) | ||||
| 
 | ||||
| 
 | ||||
| class YoutubeDLHandler(HTTPHandler): | ||||
|     def __init__(self, params, *args, **kwargs): | ||||
|         self._params = params | ||||
|         super().__init__(*args, **kwargs) | ||||
| 
 | ||||
| 
 | ||||
| YoutubeDLHTTPSHandler = YoutubeDLHandler | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 coletdjnz
					coletdjnz