From af91c784544c9ab46014693fd425827ee045af6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=B6=85?= Date: Mon, 7 Jul 2014 20:50:44 +0800 Subject: [PATCH] fix ssl_version exception when urllib3 version <= 1.5 --- docker/ssladapter/ssladapter.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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)