From 2ac6841e78844e2d804289a722635e213efecae5 Mon Sep 17 00:00:00 2001 From: fuku Date: Wed, 16 Apr 2025 12:01:13 +0900 Subject: [PATCH] fix session.py for proxy --- nifcloud/session.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/nifcloud/session.py b/nifcloud/session.py index 6046284..9d13850 100644 --- a/nifcloud/session.py +++ b/nifcloud/session.py @@ -2,7 +2,6 @@ from botocore import __version__ as botocore_version from botocore import session -from botocore.httpsession import URLLib3Session from botocore.session import get_session # noqa: F401 import nifcloud @@ -16,14 +15,7 @@ ssl_context.set_ciphers(f"{default_cipher_names}:{extra_ciphers}") -class CustomURLLib3Session(URLLib3Session): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self._manager.connection_pool_kw['ssl_context'] = ssl_context - - class Session(session.Session): - def __init__(self, session_vars=None, event_hooks=None, include_builtin_handlers=True, profile=None): super(Session, self).__init__(session_vars, event_hooks, @@ -37,11 +29,22 @@ def create_client(self, service_name, region_name=None, api_version=None, nifcloud_access_key_id=None, nifcloud_secret_access_key=None, nifcloud_session_token=None, config=None): client = super(Session, self).create_client( - service_name, region_name=region_name, api_version=api_version, use_ssl=use_ssl, - verify=verify, endpoint_url=endpoint_url, aws_access_key_id=nifcloud_access_key_id, - aws_secret_access_key=nifcloud_secret_access_key, aws_session_token=nifcloud_session_token, config=config + service_name, + region_name=region_name, + api_version=api_version, + use_ssl=use_ssl, + verify=verify, + endpoint_url=endpoint_url, + aws_access_key_id=nifcloud_access_key_id, + aws_secret_access_key=nifcloud_secret_access_key, + aws_session_token=nifcloud_session_token, + config=config ) - client._endpoint.http_session = CustomURLLib3Session() + + http_session = client._endpoint.http_session + if hasattr(http_session, '_manager'): + http_session._manager.connection_pool_kw['ssl_context'] = ssl_context + return client