1import ssl
2import sys
3from typing import Any
4
5from . import exceptions, util
6from .packages import ssl_match_hostname
7from .util import ssl_
8
9if sys.version_info >= (3, 0):
10    from builtins import ConnectionError as ConnectionError
11    from http.client import HTTPConnection as _HTTPConnection, HTTPException as HTTPException
12else:
13    from httplib import HTTPConnection as _HTTPConnection, HTTPException as HTTPException
14    class ConnectionError(Exception): ...
15
16class DummyConnection: ...
17
18BaseSSLError = ssl.SSLError
19
20ConnectTimeoutError = exceptions.ConnectTimeoutError
21SystemTimeWarning = exceptions.SystemTimeWarning
22SecurityWarning = exceptions.SecurityWarning
23match_hostname = ssl_match_hostname.match_hostname
24resolve_cert_reqs = ssl_.resolve_cert_reqs
25resolve_ssl_version = ssl_.resolve_ssl_version
26ssl_wrap_socket = ssl_.ssl_wrap_socket
27assert_fingerprint = ssl_.assert_fingerprint
28connection = util.connection
29
30port_by_scheme: Any
31RECENT_DATE: Any
32
33class HTTPConnection(_HTTPConnection):
34    default_port: Any
35    default_socket_options: Any
36    is_verified: Any
37    source_address: Any
38    socket_options: Any
39    def __init__(self, *args, **kw) -> None: ...
40    def connect(self): ...
41
42class HTTPSConnection(HTTPConnection):
43    default_port: Any
44    key_file: Any
45    cert_file: Any
46    def __init__(self, host, port=..., key_file=..., cert_file=..., strict=..., timeout=..., **kw) -> None: ...
47    sock: Any
48    def connect(self): ...
49
50class VerifiedHTTPSConnection(HTTPSConnection):
51    cert_reqs: Any
52    ca_certs: Any
53    ssl_version: Any
54    assert_fingerprint: Any
55    key_file: Any
56    cert_file: Any
57    assert_hostname: Any
58    def set_cert(self, key_file=..., cert_file=..., cert_reqs=..., ca_certs=..., assert_hostname=..., assert_fingerprint=...): ...
59    sock: Any
60    auto_open: Any
61    is_verified: Any
62    def connect(self): ...
63
64UnverifiedHTTPSConnection = HTTPSConnection
65