8000 feat: add new max_retries param to TwilioHttpClient (#507) · dialex-com/twilio-python@cae59ba · GitHub
[go: up one dir, main page]

Skip to content

Commit cae59ba

Browse files
authored
feat: add new max_retries param to TwilioHttpClient (twilio#507)
1 parent 5b17b13 commit cae59ba

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

twilio/http/http_client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from requests import Request, Session, hooks
2+
from requests.adapters import HTTPAdapter
23

34
from twilio.http import HttpClient
45
from twilio.http.response import Response
@@ -13,7 +14,7 @@ class TwilioHttpClient(HttpClient):
1314
"""
1415
General purpose HTTP Client for interacting with the Twilio API
1516
"""
16-
def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logger=_logger, proxy=None):
17+
def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logger=_logger, proxy=None, max_retries=None):
1718
"""
1819
Constructor for the TwilioHttpClient
1920
@@ -23,8 +24,11 @@ def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logg
2324
Timeout should never be zero (0) or less.
2425
:param logger
2526
:param dict proxy: Http proxy for the requests session
27+
:param int max_retries: Maximum number of retries each request should attempt
2628
"""
2729
self.session = Session() if pool_connections else None
30+
if self.session and max_retries is not None:
31+
self.session.mount('https://', HTTPAdapter(max_retries=max_retries))
2832
self.last_request = None
2933
self.last_response = None
3034
self.logger = logger

0 commit comments

Comments
 (0)
0