@@ -13,7 +13,7 @@ class TwilioHttpClient(HttpClient):
13
13
"""
14
14
General purpose HTTP Client for interacting with the Twilio API
15
15
"""
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 ):
17
17
"""
18
18
Constructor for the TwilioHttpClient
19
19
@@ -22,6 +22,7 @@ def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logg
22
22
:param int timeout: Timeout for the requests.
23
23
Timeout should never be zero (0) or less.
24
24
:param logger
25
+ :param dict proxy: Http proxy for the requests session
25
26
"""
26
27
self .session = Session () if pool_connections else None
27
28
self .last_request = None
@@ -32,6 +33,7 @@ def __init__(self, pool_connections=True, request_hooks=None, timeout=None, logg
32
33
if timeout is not None and timeout <= 0 :
33
34
raise ValueError (timeout )
34
35
self .timeout = timeout
36
+ self .proxy = proxy
35
37
36
38
def request (self , method , url , params = None , data = None , headers = None , auth = None , timeout = None ,
37
39
allow_redirects = False ):
@@ -74,6 +76,8 @@ def request(self, method, url, params=None, data=None, headers=None, auth=None,
74
76
75
77
self .last_response = None
76
78
session = self .session or Session ()
79
+ if self .proxy :
80
+ session .proxies = self .proxy
77
81
request = Request (** kwargs )
78
82
self .last_request = TwilioRequest (** kwargs )
79
83
0 commit comments