@@ -13,7 +13,7 @@ class TwilioHttpClient(HttpClient):
1313 """
1414 General purpose HTTP Client for interacting with the Twilio API
1515 """
16- def __init__ (self , pool_connections = True , request_hooks = None , timeout = None , logger = _logger ):
16+ def __init__ (self , pool_connections = True , request_hooks = None , timeout = None , logger = _logger , proxy = None ):
1717 """
1818 Constructor for the TwilioHttpClient
1919
@@ -22,6 +22,7 @@ def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logg
2222 :param int timeout: Timeout for the requests.
2323 Timeout should never be zero (0) or less.
2424 :param logger
25+ :param dict proxy: Http proxy for the requests session
2526 """
2627 self .session = Session () if pool_connections else None
2728 self .last_request = None
@@ -32,6 +33,7 @@ def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logg
3233 if timeout is not None and timeout <= 0 :
3334 raise ValueError (timeout )
3435 self .timeout = timeout
36+ self .proxy = proxy
3537
3638 def request (self , method , url , params = None , data = None , headers = None , auth = None , timeout = None ,
3739 allow_redirects = False ):
@@ -74,6 +76,8 @@ def request(self, method, url, params=None, data=None, headers=None, auth=None,
7476
7577 self .last_response = None
7678 session = self .session or Session ()
79+ if self .proxy :
80+ session .proxies = self .proxy
7781 request = Request (** kwargs )
7882 self .last_request = TwilioRequest (** kwargs )
7983
0 commit comments