[rh:requests] Bump minimum `requests` version to 2.32.2 (#10079)

Closes #10078
Authored by: bashonly
This commit is contained in:
bashonly 2024-06-01 13:57:23 -05:00 committed by GitHub
parent 2e5a47da40
commit db50f19d76
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 7 additions and 13 deletions

View File

@ -262,7 +262,7 @@ You can also run `make yt-dlp` instead to compile only the binary without updati
### Standalone Py2Exe Builds (Windows)
While we provide the option to build with [py2exe](https://www.py2exe.org), it is recommended to build [using PyInstaller](#standalone-pyinstaller-builds) instead since the py2exe builds **cannot contain `pycryptodomex`/`certifi` and need VC++14** on the target computer to run.
While we provide the option to build with [py2exe](https://www.py2exe.org), it is recommended to build [using PyInstaller](#standalone-pyinstaller-builds) instead since the py2exe builds **cannot contain `pycryptodomex`/`certifi`/`requests` and need VC++14** on the target computer to run.
If you wish to build it anyway, install Python (if it is not already installed) and you can run the following commands:

View File

@ -42,9 +42,9 @@ def main():
# py2exe cannot import Crypto
'Crypto',
'Cryptodome',
# py2exe appears to confuse this with our socks library.
# We don't use pysocks and urllib3.contrib.socks would fail to import if tried.
'urllib3.contrib.socks'
# requests >=2.32.0 breaks py2exe builds due to certifi dependency
'requests',
'urllib3'
],
'dll_excludes': ['w9xpopen.exe', 'crypt32.dll'],
# Modules that are only imported dynamically must be added here

View File

@ -46,7 +46,7 @@ dependencies = [
"certifi",
"mutagen",
"pycryptodomex",
"requests>=2.31.0,<3",
"requests>=2.32.2,<3",
"urllib3>=1.26.17,<3",
"websockets>=12.0",
]
@ -82,7 +82,6 @@ pyinstaller = [
]
py2exe = [
"py2exe>=0.12",
"requests==2.31.*",
]
[project.urls]

View File

@ -21,8 +21,8 @@ urllib3_version = tuple(int_or_none(x, default=0) for x in urllib3.__version__.s
if urllib3_version < (1, 26, 17):
raise ImportError('Only urllib3 >= 1.26.17 is supported')
if requests.__build__ < 0x023100:
raise ImportError('Only requests >= 2.31.0 is supported')
if requests.__build__ < 0x023202:
raise ImportError('Only requests >= 2.32.2 is supported')
import requests.adapters
import requests.utils
@ -182,14 +182,9 @@ class RequestsHTTPAdapter(requests.adapters.HTTPAdapter):
return super().proxy_manager_for(proxy, **proxy_kwargs, **self._pm_args, **extra_kwargs)
# Skip `requests` internal verification; we use our own SSLContext
# requests 2.31.0+
def cert_verify(*args, **kwargs):
pass
# requests 2.31.0-2.32.1
def _get_connection(self, request, *_, proxies=None, **__):
return self.get_connection(request.url, proxies)
# requests 2.32.2+: Reimplementation without `_urllib3_request_context`
def get_connection_with_tls_context(self, request, verify, proxies=None, cert=None):
url = urllib3.util.parse_url(request.url).url