SILENT KILLERPanel

Current Path: > > usr > lib > python2.7 > site-packages > pip > _vendor > > > urllib3 > util


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/lib/python2.7/site-packages/pip/_vendor///urllib3/util

NameTypeSizeLast ModifiedActions
__init__.py File 1044 bytes April 21 2022 18:08:21.
__init__.pyc File 1277 bytes April 21 2022 18:08:35.
__init__.pyo File 1277 bytes April 21 2022 18:08:35.
connection.py File 4237 bytes April 21 2022 18:08:21.
connection.pyc File 3871 bytes April 21 2022 18:08:35.
connection.pyo File 3871 bytes April 21 2022 18:08:35.
request.py File 3705 bytes April 21 2022 18:08:21.
request.pyc File 3757 bytes April 21 2022 18:08:35.
request.pyo File 3757 bytes April 21 2022 18:08:35.
response.py File 2343 bytes April 21 2022 18:08:21.
response.pyc File 2297 bytes April 21 2022 18:08:35.
response.pyo File 2297 bytes April 21 2022 18:08:35.
retry.py File 15104 bytes April 21 2022 18:08:21.
retry.pyc File 14728 bytes April 21 2022 18:08:35.
retry.pyo File 14728 bytes April 21 2022 18:08:35.
selectors.py File 21147 bytes April 21 2022 18:08:21.
selectors.pyc File 20985 bytes April 21 2022 18:08:35.
selectors.pyo File 20985 bytes April 21 2022 18:08:35.
ssl_.py File 12214 bytes April 21 2022 18:08:21.
ssl_.pyc File 10605 bytes April 21 2022 18:08:35.
ssl_.pyo File 10605 bytes April 21 2022 18:08:35.
timeout.py File 9757 bytes April 21 2022 18:08:21.
timeout.pyc File 9716 bytes April 21 2022 18:08:35.
timeout.pyo File 9716 bytes April 21 2022 18:08:35.
url.py File 6798 bytes April 21 2022 18:08:21.
url.pyc File 6773 bytes April 21 2022 18:08:35.
url.pyo File 6773 bytes April 21 2022 18:08:35.
wait.py File 1451 bytes April 21 2022 18:08:21.
wait.pyc File 1842 bytes April 21 2022 18:08:35.
wait.pyo File 1842 bytes April 21 2022 18:08:35.

Reading File: //usr/lib/python2.7/site-packages/pip/_vendor///urllib3/util/response.py

from __future__ import absolute_import
from ..packages.six.moves import http_client as httplib

from ..exceptions import HeaderParsingError


def is_fp_closed(obj):
    """
    Checks whether a given file-like object is closed.

    :param obj:
        The file-like object to check.
    """

    try:
        # Check `isclosed()` first, in case Python3 doesn't set `closed`.
        # GH Issue #928
        return obj.isclosed()
    except AttributeError:
        pass

    try:
        # Check via the official file-like-object way.
        return obj.closed
    except AttributeError:
        pass

    try:
        # Check if the object is a container for another file-like object that
        # gets released on exhaustion (e.g. HTTPResponse).
        return obj.fp is None
    except AttributeError:
        pass

    raise ValueError("Unable to determine whether fp is closed.")


def assert_header_parsing(headers):
    """
    Asserts whether all headers have been successfully parsed.
    Extracts encountered errors from the result of parsing headers.

    Only works on Python 3.

    :param headers: Headers to verify.
    :type headers: `httplib.HTTPMessage`.

    :raises urllib3.exceptions.HeaderParsingError:
        If parsing errors are found.
    """

    # This will fail silently if we pass in the wrong kind of parameter.
    # To make debugging easier add an explicit check.
    if not isinstance(headers, httplib.HTTPMessage):
        raise TypeError('expected httplib.Message, got {0}.'.format(
            type(headers)))

    defects = getattr(headers, 'defects', None)
    get_payload = getattr(headers, 'get_payload', None)

    unparsed_data = None
    if get_payload:  # Platform-specific: Python 3.
        unparsed_data = get_payload()

    if defects or unparsed_data:
        raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data)


def is_response_to_head(response):
    """
    Checks whether the request of a response has been a HEAD-request.
    Handles the quirks of AppEngine.

    :param conn:
    :type conn: :class:`httplib.HTTPResponse`
    """
    # FIXME: Can we do this somehow without accessing private httplib _method?
    method = response._method
    if isinstance(method, int):  # Platform-specific: Appengine
        return method == 3
    return method.upper() == 'HEAD'

SILENT KILLER Tool