Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/urllib3/__init__.py: 77%
39 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1"""
2Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more
3"""
4from __future__ import absolute_import
6# Set default logging handler to avoid "No handler found" warnings.
7import logging
8import warnings
9from logging import NullHandler
11from . import exceptions
12from ._version import __version__
13from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
14from .filepost import encode_multipart_formdata
15from .poolmanager import PoolManager, ProxyManager, proxy_from_url
16from .response import HTTPResponse
17from .util.request import make_headers
18from .util.retry import Retry
19from .util.timeout import Timeout
20from .util.url import get_host
22# === NOTE TO REPACKAGERS AND VENDORS ===
23# Please delete this block, this logic is only
24# for urllib3 being distributed via PyPI.
25# See: https://github.com/urllib3/urllib3/issues/2680
26try:
27 import urllib3_secure_extra # type: ignore # noqa: F401
28except ImportError:
29 pass
30else:
31 warnings.warn(
32 "'urllib3[secure]' extra is deprecated and will be removed "
33 "in a future release of urllib3 2.x. Read more in this issue: "
34 "https://github.com/urllib3/urllib3/issues/2680",
35 category=DeprecationWarning,
36 stacklevel=2,
37 )
39__author__ = "Andrey Petrov (andrey.petrov@shazow.net)"
40__license__ = "MIT"
41__version__ = __version__
43__all__ = (
44 "HTTPConnectionPool",
45 "HTTPSConnectionPool",
46 "PoolManager",
47 "ProxyManager",
48 "HTTPResponse",
49 "Retry",
50 "Timeout",
51 "add_stderr_logger",
52 "connection_from_url",
53 "disable_warnings",
54 "encode_multipart_formdata",
55 "get_host",
56 "make_headers",
57 "proxy_from_url",
58)
60logging.getLogger(__name__).addHandler(NullHandler())
63def add_stderr_logger(level=logging.DEBUG):
64 """
65 Helper for quickly adding a StreamHandler to the logger. Useful for
66 debugging.
68 Returns the handler after adding it.
69 """
70 # This method needs to be in this __init__.py to get the __name__ correct
71 # even if urllib3 is vendored within another package.
72 logger = logging.getLogger(__name__)
73 handler = logging.StreamHandler()
74 handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s %(message)s"))
75 logger.addHandler(handler)
76 logger.setLevel(level)
77 logger.debug("Added a stderr logging handler to logger: %s", __name__)
78 return handler
81# ... Clean up.
82del NullHandler
85# All warning filters *must* be appended unless you're really certain that they
86# shouldn't be: otherwise, it's very hard for users to use most Python
87# mechanisms to silence them.
88# SecurityWarning's always go off by default.
89warnings.simplefilter("always", exceptions.SecurityWarning, append=True)
90# SubjectAltNameWarning's should go off once per host
91warnings.simplefilter("default", exceptions.SubjectAltNameWarning, append=True)
92# InsecurePlatformWarning's don't vary between requests, so we keep it default.
93warnings.simplefilter("default", exceptions.InsecurePlatformWarning, append=True)
94# SNIMissingWarnings should go off only once.
95warnings.simplefilter("default", exceptions.SNIMissingWarning, append=True)
98def disable_warnings(category=exceptions.HTTPWarning):
99 """
100 Helper for quickly disabling all urllib3 warnings.
101 """
102 warnings.simplefilter("ignore", category)