Add proxy support to fix #4639 (#4946)

* Add proxy support to fix #4639

* Update sample app for testing

* Fix indentation and remove leftover code

* Update sample for new rest template
This commit is contained in:
Kyle Maxwell 2017-03-07 22:03:45 -06:00 committed by wing328
parent 871b3ceef7
commit 3e3d360027
6 changed files with 79 additions and 17 deletions

View File

@ -80,6 +80,9 @@ class Configuration(object):
# client key file # client key file
self.key_file = None self.key_file = None
# Proxy URL
self.proxy = None
@property @property
def logger_file(self): def logger_file(self):
""" """

View File

@ -76,7 +76,21 @@ class RESTClientObject(object):
# key file # key file
key_file = Configuration().key_file key_file = Configuration().key_file
# proxy
proxy = Configuration().proxy
# https pool manager # https pool manager
if proxy:
self.pool_manager = urllib3.ProxyManager(
num_pools=pools_size,
maxsize=maxsize,
cert_reqs=cert_reqs,
ca_certs=ca_certs,
cert_file=cert_file,
key_file=key_file,
proxy_url=proxy
)
else:
self.pool_manager = urllib3.PoolManager( self.pool_manager = urllib3.PoolManager(
num_pools=pools_size, num_pools=pools_size,
maxsize=maxsize, maxsize=maxsize,
@ -86,6 +100,7 @@ class RESTClientObject(object):
key_file=key_file key_file=key_file
) )
def request(self, method, url, query_params=None, headers=None, def request(self, method, url, query_params=None, headers=None,
body=None, post_params=None, _preload_content=True, _request_timeout=None): body=None, post_params=None, _preload_content=True, _request_timeout=None):
""" """

View File

@ -89,6 +89,9 @@ class Configuration(object):
# client key file # client key file
self.key_file = None self.key_file = None
# Proxy URL
self.proxy = None
@property @property
def logger_file(self): def logger_file(self):
""" """

View File

@ -85,7 +85,21 @@ class RESTClientObject(object):
# key file # key file
key_file = Configuration().key_file key_file = Configuration().key_file
# proxy
proxy = Configuration().proxy
# https pool manager # https pool manager
if proxy:
self.pool_manager = urllib3.ProxyManager(
num_pools=pools_size,
maxsize=maxsize,
cert_reqs=cert_reqs,
ca_certs=ca_certs,
cert_file=cert_file,
key_file=key_file,
proxy_url=proxy
)
else:
self.pool_manager = urllib3.PoolManager( self.pool_manager = urllib3.PoolManager(
num_pools=pools_size, num_pools=pools_size,
maxsize=maxsize, maxsize=maxsize,
@ -95,6 +109,15 @@ class RESTClientObject(object):
key_file=key_file key_file=key_file
) )
# https pool manager
self.pool_manager = urllib3.PoolManager(
num_pools=pools_size,
cert_reqs=cert_reqs,
ca_certs=ca_certs,
cert_file=cert_file,
key_file=key_file
)
def request(self, method, url, query_params=None, headers=None, def request(self, method, url, query_params=None, headers=None,
body=None, post_params=None, _preload_content=True, _request_timeout=None): body=None, post_params=None, _preload_content=True, _request_timeout=None):
""" """

View File

@ -89,6 +89,9 @@ class Configuration(object):
# client key file # client key file
self.key_file = None self.key_file = None
# Proxy URL
self.proxy = None
@property @property
def logger_file(self): def logger_file(self):
""" """

View File

@ -85,7 +85,21 @@ class RESTClientObject(object):
# key file # key file
key_file = Configuration().key_file key_file = Configuration().key_file
# proxy
proxy = Configuration().proxy
# https pool manager # https pool manager
if proxy:
self.pool_manager = urllib3.ProxyManager(
num_pools=pools_size,
maxsize=maxsize,
cert_reqs=cert_reqs,
ca_certs=ca_certs,
cert_file=cert_file,
key_file=key_file,
proxy_url=proxy
)
else:
self.pool_manager = urllib3.PoolManager( self.pool_manager = urllib3.PoolManager(
num_pools=pools_size, num_pools=pools_size,
maxsize=maxsize, maxsize=maxsize,
@ -95,6 +109,7 @@ class RESTClientObject(object):
key_file=key_file key_file=key_file
) )
def request(self, method, url, query_params=None, headers=None, def request(self, method, url, query_params=None, headers=None,
body=None, post_params=None, _preload_content=True, _request_timeout=None): body=None, post_params=None, _preload_content=True, _request_timeout=None):
""" """