File: httplib2_stubs.py

package info (click to toggle)
vcr.py 4.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 948 kB
  • sloc: python: 5,135; makefile: 181; sh: 14
file content (60 lines) | stat: -rw-r--r-- 2,166 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""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 = {"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 = {
            "host",
            "port",
            "key_file",
            "cert_file",
            "strict",
            "timeout",
            "source_address",
            "ca_certs",
            "disable_ssl_certificate_validation",
        }
        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