1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00
pip/src/pip/_vendor/urllib3/__init__.py

86 lines
2.7 KiB
Python
Raw Normal View History

2013-08-15 15:33:47 +02:00
"""
2020-11-19 15:20:52 +01:00
Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more
2013-08-15 15:33:47 +02:00
"""
2016-01-19 00:28:54 +01:00
from __future__ import absolute_import
2013-08-15 15:33:47 +02:00
2020-11-19 15:20:52 +01:00
# Set default logging handler to avoid "No handler found" warnings.
import logging
import warnings
from logging import NullHandler
2013-08-15 15:33:47 +02:00
from . import exceptions
2020-11-19 15:20:52 +01:00
from ._version import __version__
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
2013-08-15 15:33:47 +02:00
from .filepost import encode_multipart_formdata
from .poolmanager import PoolManager, ProxyManager, proxy_from_url
from .response import HTTPResponse
from .util.request import make_headers
from .util.retry import Retry
2020-11-19 15:20:52 +01:00
from .util.timeout import Timeout
from .util.url import get_host
2013-08-15 15:33:47 +02:00
2019-10-09 16:16:37 +02:00
__author__ = "Andrey Petrov (andrey.petrov@shazow.net)"
__license__ = "MIT"
2020-11-19 15:20:52 +01:00
__version__ = __version__
2016-01-19 00:28:54 +01:00
__all__ = (
2019-10-09 16:16:37 +02:00
"HTTPConnectionPool",
"HTTPSConnectionPool",
"PoolManager",
"ProxyManager",
"HTTPResponse",
"Retry",
"Timeout",
"add_stderr_logger",
"connection_from_url",
"disable_warnings",
"encode_multipart_formdata",
"get_host",
"make_headers",
"proxy_from_url",
2016-01-19 00:28:54 +01:00
)
2013-08-15 15:33:47 +02:00
logging.getLogger(__name__).addHandler(NullHandler())
2016-01-19 00:28:54 +01:00
2013-08-15 15:33:47 +02:00
def add_stderr_logger(level=logging.DEBUG):
"""
Helper for quickly adding a StreamHandler to the logger. Useful for
debugging.
Returns the handler after adding it.
"""
# This method needs to be in this __init__.py to get the __name__ correct
# even if urllib3 is vendored within another package.
logger = logging.getLogger(__name__)
handler = logging.StreamHandler()
2019-10-09 16:16:37 +02:00
handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)s %(message)s"))
2013-08-15 15:33:47 +02:00
logger.addHandler(handler)
logger.setLevel(level)
2019-10-09 16:16:37 +02:00
logger.debug("Added a stderr logging handler to logger: %s", __name__)
2013-08-15 15:33:47 +02:00
return handler
2013-08-15 15:33:47 +02:00
# ... Clean up.
del NullHandler
# All warning filters *must* be appended unless you're really certain that they
# shouldn't be: otherwise, it's very hard for users to use most Python
# mechanisms to silence them.
2015-04-30 02:16:19 +02:00
# SecurityWarning's always go off by default.
2019-10-09 16:16:37 +02:00
warnings.simplefilter("always", exceptions.SecurityWarning, append=True)
2016-01-19 00:28:54 +01:00
# SubjectAltNameWarning's should go off once per host
2019-10-09 16:16:37 +02:00
warnings.simplefilter("default", exceptions.SubjectAltNameWarning, append=True)
2015-04-30 02:16:19 +02:00
# InsecurePlatformWarning's don't vary between requests, so we keep it default.
2019-10-09 16:16:37 +02:00
warnings.simplefilter("default", exceptions.InsecurePlatformWarning, append=True)
2016-01-19 00:28:54 +01:00
# SNIMissingWarnings should go off only once.
2019-10-09 16:16:37 +02:00
warnings.simplefilter("default", exceptions.SNIMissingWarning, append=True)
2016-01-19 00:28:54 +01:00
def disable_warnings(category=exceptions.HTTPWarning):
"""
Helper for quickly disabling all urllib3 warnings.
"""
2019-10-09 16:16:37 +02:00
warnings.simplefilter("ignore", category)