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,15 +76,30 @@ 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
self.pool_manager = urllib3.PoolManager( if proxy:
num_pools=pools_size, self.pool_manager = urllib3.ProxyManager(
maxsize=maxsize, num_pools=pools_size,
cert_reqs=cert_reqs, maxsize=maxsize,
ca_certs=ca_certs, cert_reqs=cert_reqs,
cert_file=cert_file, ca_certs=ca_certs,
key_file=key_file cert_file=cert_file,
) key_file=key_file,
proxy_url=proxy
)
else:
self.pool_manager = urllib3.PoolManager(
num_pools=pools_size,
maxsize=maxsize,
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,10 +85,33 @@ class RESTClientObject(object):
# key file # key file
key_file = Configuration().key_file key_file = Configuration().key_file
# proxy
proxy = Configuration().proxy
# 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(
num_pools=pools_size,
maxsize=maxsize,
cert_reqs=cert_reqs,
ca_certs=ca_certs,
cert_file=cert_file,
key_file=key_file
)
# https pool manager # https pool manager
self.pool_manager = urllib3.PoolManager( self.pool_manager = urllib3.PoolManager(
num_pools=pools_size, num_pools=pools_size,
maxsize=maxsize,
cert_reqs=cert_reqs, cert_reqs=cert_reqs,
ca_certs=ca_certs, ca_certs=ca_certs,
cert_file=cert_file, cert_file=cert_file,

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,15 +85,30 @@ 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
self.pool_manager = urllib3.PoolManager( if proxy:
num_pools=pools_size, self.pool_manager = urllib3.ProxyManager(
maxsize=maxsize, num_pools=pools_size,
cert_reqs=cert_reqs, maxsize=maxsize,
ca_certs=ca_certs, cert_reqs=cert_reqs,
cert_file=cert_file, ca_certs=ca_certs,
key_file=key_file cert_file=cert_file,
) key_file=key_file,
proxy_url=proxy
)
else:
self.pool_manager = urllib3.PoolManager(
num_pools=pools_size,
maxsize=maxsize,
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):