@@ -228,7 +228,7 @@ def close(self) -> None:
228228 self ._idle_sessions .clear ()
229229
230230
231- class _ConfigDirectAccessMixin (abc .ABC ):
231+ class _BaseConfigDirectAccessMixin (abc .ABC ):
232232 @property
233233 @abc .abstractmethod
234234 def config (self ) -> HttpConfig : ...
@@ -245,14 +245,6 @@ def use_pooling(self) -> bool:
245245 def use_pooling (self , value : bool ) -> None :
246246 self .config = self .config .copy_with (use_pooling = value )
247247
248- @property
249- def adapter_factory (self ) -> Callable [..., HTTPAdapter ]:
250- return self .config .adapter_factory
251-
252- @adapter_factory .setter
253- def adapter_factory (self , value : Callable [..., HTTPAdapter ]) -> None :
254- self .config = self .config .copy_with (adapter_factory = value )
255-
256248 @property
257249 def max_retries (self ) -> Retry | int :
258250 return self .config .max_retries
@@ -262,6 +254,16 @@ def max_retries(self, value: Retry | int) -> None:
262254 self .config = self .config .copy_with (max_retries = value )
263255
264256
257+ class _HttpConfigDirectAccessMixin (_BaseConfigDirectAccessMixin ):
258+ @property
259+ def adapter_factory (self ) -> Callable [..., HTTPAdapter ]:
260+ return self .config .adapter_factory
261+
262+ @adapter_factory .setter
263+ def adapter_factory (self , value : Callable [..., HTTPAdapter ]) -> None :
264+ self .config = self .config .copy_with (adapter_factory = value )
265+
266+
265267class _RequestVerbsUsingSessionMixin (abc .ABC ):
266268 """
267269 Mixin that provides HTTP methods (get, post, put, etc.) mirroring requests.Session, maintaining their default argument behavior (e.g., HEAD uses allow_redirects=False).
@@ -372,7 +374,7 @@ def delete(
372374 return session .delete (url , headers = headers , timeout = timeout , ** kwargs )
373375
374376
375- class SessionManager (_RequestVerbsUsingSessionMixin , _ConfigDirectAccessMixin ):
377+ class SessionManager (_RequestVerbsUsingSessionMixin , _HttpConfigDirectAccessMixin ):
376378 """
377379 Central HTTP session manager that handles all external requests from the Snowflake driver.
378380
@@ -562,7 +564,7 @@ def clone(
562564 Optional kwargs (e.g. *use_pooling* / *adapter_factory* / max_retries etc.) - overrides to create a modified
563565 copy of the HttpConfig before instantiation.
564566 """
565- return SessionManager .from_config (self ._cfg , ** http_config_overrides )
567+ return self .from_config (self ._cfg , ** http_config_overrides )
566568
567569 def __getstate__ (self ):
568570 state = self .__dict__ .copy ()
@@ -626,12 +628,6 @@ def make_session(self, *, url: str | None = None) -> Session:
626628 session .proxies = proxies
627629 return session
628630
629- def clone (
630- self ,
631- ** http_config_overrides ,
632- ) -> SessionManager :
633- return ProxySessionManager .from_config (self ._cfg , ** http_config_overrides )
634-
635631
636632class SessionManagerFactory :
637633 @staticmethod
0 commit comments