Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py: 31%
16 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:48 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:48 +0000
1"""A helper module that injects SecureTransport, on import.
3The import should be done as early as possible, to ensure all requests and
4sessions (or whatever) are created after injecting SecureTransport.
6Note that we only do the injection on macOS, when the linked OpenSSL is too
7old to handle TLSv1.2.
8"""
10import sys
13def inject_securetransport() -> None:
14 # Only relevant on macOS
15 if sys.platform != "darwin":
16 return
18 try:
19 import ssl
20 except ImportError:
21 return
23 # Checks for OpenSSL 1.0.1
24 if ssl.OPENSSL_VERSION_NUMBER >= 0x1000100F:
25 return
27 try:
28 from pip._vendor.urllib3.contrib import securetransport
29 except (ImportError, OSError):
30 return
32 securetransport.inject_into_urllib3()
35inject_securetransport()