mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-08 16:53:23 +00:00
64 lines
2.2 KiB
Python
64 lines
2.2 KiB
Python
'''Stubs for httplib2'''
|
|
|
|
from httplib2 import HTTPConnectionWithTimeout, HTTPSConnectionWithTimeout
|
|
from ..stubs import VCRHTTPConnection, VCRHTTPSConnection
|
|
|
|
|
|
class VCRHTTPConnectionWithTimeout(VCRHTTPConnection,
|
|
HTTPConnectionWithTimeout):
|
|
_baseclass = HTTPConnectionWithTimeout
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
'''I overrode the init because I need to clean kwargs before calling
|
|
HTTPConnection.__init__.'''
|
|
|
|
# Delete the keyword arguments that HTTPConnection would not recognize
|
|
safe_keys = set(
|
|
('host', 'port', 'strict', 'timeout', 'source_address')
|
|
)
|
|
unknown_keys = set(kwargs.keys()) - safe_keys
|
|
safe_kwargs = kwargs.copy()
|
|
for kw in unknown_keys:
|
|
del safe_kwargs[kw]
|
|
|
|
self.proxy_info = kwargs.pop('proxy_info', None)
|
|
VCRHTTPConnection.__init__(self, *args, **safe_kwargs)
|
|
self.sock = self.real_connection.sock
|
|
|
|
|
|
class VCRHTTPSConnectionWithTimeout(VCRHTTPSConnection,
|
|
HTTPSConnectionWithTimeout):
|
|
_baseclass = HTTPSConnectionWithTimeout
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
# Delete the keyword arguments that HTTPSConnection would not recognize
|
|
safe_keys = set((
|
|
'host',
|
|
'port',
|
|
'key_file',
|
|
'cert_file',
|
|
'strict',
|
|
'timeout',
|
|
'source_address',
|
|
'ca_certs',
|
|
))
|
|
unknown_keys = set(kwargs.keys()) - safe_keys
|
|
safe_kwargs = kwargs.copy()
|
|
for kw in unknown_keys:
|
|
del safe_kwargs[kw]
|
|
self.proxy_info = kwargs.pop('proxy_info', None)
|
|
if 'ca_certs' not in kwargs or kwargs['ca_certs'] is None:
|
|
try:
|
|
import httplib2
|
|
self.ca_certs = httplib2.CA_CERTS
|
|
except ImportError:
|
|
self.ca_certs = None
|
|
else:
|
|
self.ca_certs = kwargs['ca_certs']
|
|
|
|
self.disable_ssl_certificate_validation = kwargs.pop(
|
|
'disable_ssl_certificate_validation', None)
|
|
VCRHTTPSConnection.__init__(self, *args, **safe_kwargs)
|
|
self.sock = self.real_connection.sock
|