Deal with request's urllib3 being annoying about 'strict'

These changes are required to get tests to pass in python3.4 (and
presumably others).

This is entirely code from @sashahart, who had done the work earlier
to deal with with some Debian related issues uncovered by @thomasgoirand.

These changes will probably mean the debian packages will need to be
updated when the next version is released.
This commit is contained in:
Chris Dent
2014-11-09 17:41:42 +00:00
parent fd6e42c432
commit b718c1d817

View File

@@ -1,6 +1,8 @@
"""Intercept HTTP connections that use `requests <http://docs.python-requests.org/en/latest/>`_.
"""
import sys
from . import WSGI_HTTPConnection, WSGI_HTTPSConnection, wsgi_fake_socket
from requests.packages.urllib3.connectionpool import (HTTPConnectionPool,
HTTPSConnectionPool)
@@ -12,11 +14,19 @@ wsgi_fake_socket.settimeout = lambda self, timeout: None
class HTTP_WSGIInterceptor(WSGI_HTTPConnection, HTTPConnection):
pass
def __init__(self, *args, **kwargs):
if 'strict' in kwargs and sys.version_info > (3, 0):
kwargs.pop('strict')
WSGI_HTTPConnection.__init__(self, *args, **kwargs)
HTTPConnection.__init__(self, *args, **kwargs)
class HTTPS_WSGIInterceptor(WSGI_HTTPSConnection, HTTPSConnection):
pass
def __init__(self, *args, **kwargs):
if 'strict' in kwargs and sys.version_info > (3, 0):
kwargs.pop('strict')
WSGI_HTTPSConnection.__init__(self, *args, **kwargs)
HTTPSConnection.__init__(self, *args, **kwargs)
def install():