Coverage for /home/martinb/.local/share/virtualenvs/camcops/lib/python3.6/site-packages/urllib3/__init__.py : 76%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
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__author__ = "Andrey Petrov (andrey.petrov@shazow.net)"
23__license__ = "MIT"
24__version__ = __version__
26__all__ = (
27 "HTTPConnectionPool",
28 "HTTPSConnectionPool",
29 "PoolManager",
30 "ProxyManager",
31 "HTTPResponse",
32 "Retry",
33 "Timeout",
34 "add_stderr_logger",
35 "connection_from_url",
36 "disable_warnings",
37 "encode_multipart_formdata",
38 "get_host",
39 "make_headers",
40 "proxy_from_url",
41)
43logging.getLogger(__name__).addHandler(NullHandler())
46def add_stderr_logger(level=logging.DEBUG):
47 """
48 Helper for quickly adding a StreamHandler to the logger. Useful for
49 debugging.
51 Returns the handler after adding it.
52 """
53 # This method needs to be in this __init__.py to get the __name__ correct
54 # even if urllib3 is vendored within another package.
55 logger = logging.getLogger(__name__)
56 handler = logging.StreamHandler()
57 handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s %(message)s"))
58 logger.addHandler(handler)
59 logger.setLevel(level)
60 logger.debug("Added a stderr logging handler to logger: %s", __name__)
61 return handler
64# ... Clean up.
65del NullHandler
68# All warning filters *must* be appended unless you're really certain that they
69# shouldn't be: otherwise, it's very hard for users to use most Python
70# mechanisms to silence them.
71# SecurityWarning's always go off by default.
72warnings.simplefilter("always", exceptions.SecurityWarning, append=True)
73# SubjectAltNameWarning's should go off once per host
74warnings.simplefilter("default", exceptions.SubjectAltNameWarning, append=True)
75# InsecurePlatformWarning's don't vary between requests, so we keep it default.
76warnings.simplefilter("default", exceptions.InsecurePlatformWarning, append=True)
77# SNIMissingWarnings should go off only once.
78warnings.simplefilter("default", exceptions.SNIMissingWarning, append=True)
81def disable_warnings(category=exceptions.HTTPWarning):
82 """
83 Helper for quickly disabling all urllib3 warnings.
84 """
85 warnings.simplefilter("ignore", category)