external-systems 0.101.0rc2__tar.gz → 0.103.0rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of external-systems might be problematic. Click here for more details.
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/PKG-INFO +1 -1
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/_version.py +1 -1
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_proxies.py +7 -5
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_sources.py +9 -17
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_utils.py +0 -5
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/pyproject.toml +1 -1
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/LICENSE.txt +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/README.md +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/__init__.py +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/py.typed +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/__init__.py +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_api.py +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_connections.py +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_refreshable.py +0 -0
- {external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_sockets.py +0 -0
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_proxies.py
RENAMED
|
@@ -20,18 +20,20 @@ from requests.adapters import HTTPAdapter
|
|
|
20
20
|
from urllib3.util.retry import Retry
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class
|
|
23
|
+
class CustomCaBundleSession(Session):
|
|
24
24
|
"""
|
|
25
25
|
A wrapper for requests.Session to override 'verify' property, ignoring REQUESTS_CA_BUNDLE environment variable.
|
|
26
26
|
|
|
27
|
-
This is a workaround for https://github.com/
|
|
27
|
+
This is a workaround for https://github.com/psf/requests/issues/3829 (will be fixed in requests 3.0.0)
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
def merge_environment_settings(self, url, proxies, stream, verify, *args, **kwargs): # type: ignore[no-untyped-def]
|
|
31
31
|
if isinstance(self.verify, str):
|
|
32
32
|
verify = self.verify
|
|
33
33
|
|
|
34
|
-
return super(
|
|
34
|
+
return super(CustomCaBundleSession, self).merge_environment_settings(
|
|
35
|
+
url, proxies, stream, verify, *args, **kwargs
|
|
36
|
+
)
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
class RetryingTimeoutHttpAdapter(HTTPAdapter):
|
|
@@ -97,7 +99,7 @@ def create_proxy_session(proxy_url: str, proxy_token: str) -> Session:
|
|
|
97
99
|
"""
|
|
98
100
|
|
|
99
101
|
adapter = ProxyAdapter(proxy_auth={proxy_url: f"Bearer {proxy_token}"})
|
|
100
|
-
session =
|
|
102
|
+
session = CustomCaBundleSession()
|
|
101
103
|
session.mount("http://", adapter)
|
|
102
104
|
session.mount("https://", adapter)
|
|
103
105
|
session.proxies = {"all": proxy_url}
|
|
@@ -124,7 +126,7 @@ def create_session(
|
|
|
124
126
|
timeout (Optional[Union[float, tuple[float, float], tuple[float, None]]]): Timeout settings for the session.
|
|
125
127
|
"""
|
|
126
128
|
|
|
127
|
-
session =
|
|
129
|
+
session = CustomCaBundleSession()
|
|
128
130
|
|
|
129
131
|
if cert:
|
|
130
132
|
session.cert = cert
|
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_sources.py
RENAMED
|
@@ -29,7 +29,6 @@ from ._connections import HttpsConnection
|
|
|
29
29
|
from ._proxies import create_proxy_session
|
|
30
30
|
from ._refreshable import DefaultSessionCredentialsManager, Refreshable, RefreshHandler
|
|
31
31
|
from ._sockets import create_socket
|
|
32
|
-
from ._utils import read_file
|
|
33
32
|
|
|
34
33
|
log = logging.getLogger(__name__)
|
|
35
34
|
|
|
@@ -85,26 +84,19 @@ class Source:
|
|
|
85
84
|
if self._source_parameters.server_certificates is None:
|
|
86
85
|
return None
|
|
87
86
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
#
|
|
91
|
-
#
|
|
87
|
+
# Precedence of which CA bundle to use for the Session object:
|
|
88
|
+
# 1. Custom CA bundle path (if provided we assume PEM format)
|
|
89
|
+
# 2. Requests CA bundle path
|
|
90
|
+
# 3. Temporary file
|
|
92
91
|
ca_bundle_path = (
|
|
93
92
|
self._custom_ca_bundle_path
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
or os.environ.get("REQUESTS_CA_BUNDLE")
|
|
94
|
+
or NamedTemporaryFile(delete=False, mode="w").name
|
|
96
95
|
)
|
|
97
96
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
# Add all CAs for the source
|
|
103
|
-
for required_ca in self._source_parameters.server_certificates.values():
|
|
104
|
-
new_ca_contents.append(required_ca)
|
|
105
|
-
|
|
106
|
-
with NamedTemporaryFile(delete=False, mode="w") as ca_bundle_file:
|
|
107
|
-
ca_bundle_file.write("".join(new_ca_contents) + os.linesep)
|
|
97
|
+
server_certificates = self._source_parameters.server_certificates.values()
|
|
98
|
+
with open(ca_bundle_path, "a") as ca_bundle_file:
|
|
99
|
+
ca_bundle_file.write(os.linesep.join(server_certificates) + os.linesep)
|
|
108
100
|
return ca_bundle_file.name
|
|
109
101
|
|
|
110
102
|
@cached_property
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/__init__.py
RENAMED
|
File without changes
|
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_api.py
RENAMED
|
File without changes
|
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_connections.py
RENAMED
|
File without changes
|
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_refreshable.py
RENAMED
|
File without changes
|
{external_systems-0.101.0rc2 → external_systems-0.103.0rc1}/external_systems/sources/_sockets.py
RENAMED
|
File without changes
|