Files
deb-python-wsgi-intercept/wsgi_intercept/httplib2_intercept.py
Chris Dent 16e18ad7db Release 1.1.0
* protect against http_proxy confusing interceptors
* pep8
2016-01-22 14:41:46 +00:00

55 lines
1.9 KiB
Python

"""Intercept HTTP connections that use
`httplib2 <https://github.com/jcgregorio/httplib2>`_.
"""
import sys
from httplib2 import (SCHEME_TO_CONNECTION, HTTPConnectionWithTimeout,
HTTPSConnectionWithTimeout)
from . import (HTTPConnection, HTTPSConnection, WSGI_HTTPConnection,
WSGI_HTTPSConnection)
HTTPInterceptorMixin = WSGI_HTTPConnection
HTTPSInterceptorMixin = WSGI_HTTPSConnection
class HTTP_WSGIInterceptorWithTimeout(HTTPInterceptorMixin,
HTTPConnectionWithTimeout):
def __init__(self, host, port=None, strict=None, timeout=None,
proxy_info=None, source_address=None):
# In Python3 strict is deprecated
if sys.version_info[0] < 3:
HTTPConnection.__init__(self, host, port=port, strict=strict,
timeout=timeout, source_address=source_address)
else:
HTTPConnection.__init__(self, host, port=port,
timeout=timeout, source_address=source_address)
class HTTPS_WSGIInterceptorWithTimeout(HTTPSInterceptorMixin,
HTTPSConnectionWithTimeout):
def __init__(self, host, port=None, strict=None, timeout=None,
proxy_info=None, ca_certs=None, source_address=None,
disable_ssl_certificate_validation=False):
# ignore proxy_info and ca_certs
# In Python3 strict is deprecated
if sys.version_info[0] < 3:
HTTPSConnection.__init__(self, host, port=port, strict=strict,
timeout=timeout, source_address=source_address)
else:
HTTPSConnection.__init__(self, host, port=port,
timeout=timeout, source_address=source_address)
def install():
SCHEME_TO_CONNECTION['http'] = HTTP_WSGIInterceptorWithTimeout
SCHEME_TO_CONNECTION['https'] = HTTPS_WSGIInterceptorWithTimeout
def uninstall():
SCHEME_TO_CONNECTION['http'] = HTTPConnectionWithTimeout
SCHEME_TO_CONNECTION['https'] = HTTPSConnectionWithTimeout