diff --git a/docker/ssladapter/ssladapter.py b/docker/ssladapter/ssladapter.py index c38481fa06..f0f7b067cc 100644 --- a/docker/ssladapter/ssladapter.py +++ b/docker/ssladapter/ssladapter.py @@ -2,10 +2,12 @@ https://lukasa.co.uk/2013/01/Choosing_SSL_Version_In_Requests/ https://github.com/kennethreitz/requests/pull/799 """ +from distutils.version import StrictVersion from requests.adapters import HTTPAdapter try: from requests.packages.urllib3.poolmanager import PoolManager except ImportError: + import urllib3 from urllib3.poolmanager import PoolManager @@ -16,7 +18,13 @@ def __init__(self, ssl_version=None, **kwargs): super(SSLAdapter, self).__init__(**kwargs) def init_poolmanager(self, connections, maxsize, block=False): - self.poolmanager = PoolManager(num_pools=connections, - maxsize=maxsize, - block=block, - ssl_version=self.ssl_version) + urllib_ver = urllib3.__version__ + if urllib3 and StrictVersion(urllib_ver) <= StrictVersion('1.5'): + self.poolmanager = PoolManager(num_pools=connections, + maxsize=maxsize, + block=block) + else: + self.poolmanager = PoolManager(num_pools=connections, + maxsize=maxsize, + block=block, + ssl_version=self.ssl_version)