summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <f.joffrey@gmail.com>2015-11-24 13:41:56 -0800
committerJoffrey F <f.joffrey@gmail.com>2015-11-24 13:41:56 -0800
commit43b0ea53586230e7405f9d8e03405032407c005b (patch)
tree30355bd0e640df4aafa2d03518c8523766a95f46
parent1ca2bc58f0cf2e2cdda2734395bd3e7ad9b178bf (diff)
parentda3377771ca6b4f3d26d37d01a4a7a5e41066d0c (diff)
downloaddocker-py-43b0ea53586230e7405f9d8e03405032407c005b.tar.gz
Merge pull request #841 from delfick/proxy_pool_manager_assert_hostname
Ensure assert_hostname is set on the pool connection
-rw-r--r--docker/ssladapter/ssladapter.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/docker/ssladapter/ssladapter.py b/docker/ssladapter/ssladapter.py
index 3a70a91..b653b68 100644
--- a/docker/ssladapter/ssladapter.py
+++ b/docker/ssladapter/ssladapter.py
@@ -46,6 +46,19 @@ class SSLAdapter(HTTPAdapter):
self.poolmanager = PoolManager(**kwargs)
+ def get_connection(self, *args, **kwargs):
+ """
+ Ensure assert_hostname is set correctly on our pool
+
+ We already take care of a normal poolmanager via init_poolmanager
+
+ But we still need to take care of when there is a proxy poolmanager
+ """
+ conn = super(SSLAdapter, self).get_connection(*args, **kwargs)
+ if conn.assert_hostname != self.assert_hostname:
+ conn.assert_hostname = self.assert_hostname
+ return conn
+
def can_override_ssl_version(self):
urllib_ver = urllib3.__version__.split('-')[0]
if urllib_ver is None: