2222
2323from . import abstract
2424
25+ _connection_timeout_seconds = 20
26+ _request_max_retries = 2
27+
2528
2629class Transport (abstract .Transport ):
27- _connection_timeout_seconds = 20
28- _request_max_retries = 2
2930
3031 def __init__ (self , logger , endpoint = None , max_connections = None , timeout = None , verbosity = None ):
3132 super (Transport , self ).__init__ (logger , endpoint , max_connections , timeout , verbosity )
@@ -46,6 +47,26 @@ def __init__(self, logger, endpoint=None, max_connections=None, timeout=None, ve
4647 )
4748 self ._get_status_and_headers = self ._get_status_and_headers_py3
4849
50+ @classmethod
51+ def get_connection_timeout (cls ):
52+ global _connection_timeout_seconds
53+ return _connection_timeout_seconds
54+
55+ @classmethod
56+ def set_connection_timeout (cls , timeout ):
57+ global _connection_timeout_seconds
58+ _connection_timeout_seconds = timeout
59+
60+ @classmethod
61+ def set_request_max_retries (cls , retries ):
62+ global _request_max_retries
63+ _request_max_retries = retries
64+
65+ @classmethod
66+ def get_request_max_retries (cls ):
67+ global _request_max_retries
68+ return _request_max_retries
69+
4970 def close (self ):
5071 # Ignore redundant calls to close
5172 if not self ._free_connections :
@@ -151,15 +172,15 @@ def _send_request_on_connection(self, request, connection):
151172 if is_body_seekable :
152173 starting_offset = request .body .tell ()
153174
154- retries_left = self . _request_max_retries
175+ retries_left = Transport . get_request_max_retries ()
155176 while True :
156177 try :
157178 connection .request (request .method , path , request .body , request .headers )
158179 break
159180 except self ._send_request_exceptions as e :
160181 self ._logger .debug_with (
161182 f"Disconnected while attempting to send request – "
162- f"{ retries_left } out of { self . _request_max_retries } retries left." ,
183+ f"{ retries_left } out of { Transport . get_request_max_retries () } retries left." ,
163184 e = type (e ),
164185 e_msg = e ,
165186 )
@@ -189,9 +210,9 @@ def _create_connections(self, num_connections, host, ssl_context):
189210
190211 def _create_connection (self , host , ssl_context ):
191212 if ssl_context is None :
192- return http .client .HTTPConnection (host , timeout = self . _connection_timeout_seconds )
213+ return http .client .HTTPConnection (host , timeout = Transport . get_connection_timeout () )
193214
194- return http .client .HTTPSConnection (host , timeout = self . _connection_timeout_seconds , context = ssl_context )
215+ return http .client .HTTPSConnection (host , timeout = Transport . get_connection_timeout () , context = ssl_context )
195216
196217 def _parse_endpoint (self , endpoint ):
197218 if endpoint .startswith ("http://" ):
0 commit comments