diff options
author | Tristan Cacqueray <tristan.cacqueray@enovance.com> | 2014-01-24 17:40:16 +0100 |
---|---|---|
committer | Tristan Cacqueray <tristan.cacqueray@enovance.com> | 2014-02-12 13:21:26 +0100 |
commit | b182112719ab87942472e44aa3446ea0eb19a289 (patch) | |
tree | 8663d755145df6b64bc6b766866ebdb06639119a /swiftclient/utils.py | |
parent | 9b73547b7de004fe623e454c425e9deee5d3d0ca (diff) | |
download | python-swiftclient-b182112719ab87942472e44aa3446ea0eb19a289.tar.gz |
Port to python-requests
Currently, httplib implementation does not support SSL certificate
verification. This patch fixes this. Note that ssl compression parameter
and 100-continue thing is still missing from requests, though those are
lower priority.
Requests now takes care of:
* proxy configuration (get_environ_proxies),
* chunked encoding (with data generator),
* bulk uploading (with files dictionary),
* SSL certificate verification (with 'insecure' and 'cacert' parameter).
This patch have been tested with requests 1.1.0 (CentOS 6) and requests
2.2.1 (current version).
Change-Id: Ib5de962f4102d57c71ad85fd81a615362ef175dc
Closes-Bug: #1199783
DocImpact
SecurityImpact
Diffstat (limited to 'swiftclient/utils.py')
-rw-r--r-- | swiftclient/utils.py | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/swiftclient/utils.py b/swiftclient/utils.py index a74eada..a038dcc 100644 --- a/swiftclient/utils.py +++ b/swiftclient/utils.py @@ -14,23 +14,6 @@ # limitations under the License. """Miscellaneous utility functions for use with Swift.""" -import sys -import os - -_ver = sys.version_info - -#: Python 2.x? -is_py2 = (_ver[0] == 2) - -#: Python 3.x? -is_py3 = (_ver[0] == 3) - -if is_py2: - from urllib import getproxies, proxy_bypass -elif is_py3: - from urllib.request import getproxies, proxy_bypass - - TRUE_VALUES = set(('true', '1', 'yes', 'on', 't', 'y')) @@ -72,36 +55,3 @@ def prt_bytes(bytes, human_flag): bytes = '%12s' % bytes return(bytes) - - -# get_environ_proxies function, borrowed from python Requests -# (www.python-requests.org) -def get_environ_proxies(netloc): - """Return a dict of environment proxies.""" - - get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) - - # First check whether no_proxy is defined. If it is, check that the URL - # we're getting isn't in the no_proxy list. - no_proxy = get_proxy('no_proxy') - - if no_proxy: - # We need to check whether we match here. We need to see if we match - # the end of the netloc, both with and without the port. - no_proxy = no_proxy.replace(' ', '').split(',') - - for host in no_proxy: - if netloc.endswith(host) or netloc.split(':')[0].endswith(host): - # The URL does match something in no_proxy, so we don't want - # to apply the proxies on this URL. - return {} - - # If the system proxy settings indicate that this URL should be bypassed, - # don't proxy. - if proxy_bypass(netloc): - return {} - - # If we get here, we either didn't have no_proxy set or we're not going - # anywhere that no_proxy applies to, and the system settings don't require - # bypassing the proxy for the current URL. - return getproxies() |