Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 21, 2024

Bumps requests from 2.27.1 to 2.32.0.

Release notes

Sourced from requests's releases.

v2.32.0

2.32.0 (2024-05-20)

🐍 PYCON US 2024 EDITION 🐍

Security

  • Fixed an issue where setting verify=False on the first request from a Session will cause subsequent requests to the same origin to also ignore cert verification, regardless of the value of verify. (GHSA-9wx4-h78v-vm56)

Improvements

  • verify=True now reuses a global SSLContext which should improve request time variance between first and subsequent requests. It should also minimize certificate load time on Windows systems when using a Python version built with OpenSSL 3.x. (#6667)
  • Requests now supports optional use of character detection (chardet or charset_normalizer) when repackaged or vendored. This enables pip and other projects to minimize their vendoring surface area. The Response.text() and apparent_encoding APIs will default to utf-8 if neither library is present. (#6702)

Bugfixes

  • Fixed bug in length detection where emoji length was incorrectly calculated in the request content-length. (#6589)
  • Fixed deserialization bug in JSONDecodeError. (#6629)
  • Fixed bug where an extra leading / (path separator) could lead urllib3 to unnecessarily reparse the request URI. (#6644)

Deprecations

  • Requests has officially added support for CPython 3.12 (#6503)
  • Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
  • Requests has officially dropped support for CPython 3.7 (#6642)
  • Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)

Documentation

  • Various typo fixes and doc improvements.

Packaging

  • Requests has started adopting some modern packaging practices. The source files for the projects (formerly requests) is now located in src/requests in the Requests sdist. (#6506)
  • Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system using hatchling. This should not impact the average user, but extremely old versions of packaging utilities may have issues with the new packaging format.

New Contributors

... (truncated)

Changelog

Sourced from requests's changelog.

2.32.0 (2024-05-20)

Security

  • Fixed an issue where setting verify=False on the first request from a Session will cause subsequent requests to the same origin to also ignore cert verification, regardless of the value of verify. (GHSA-9wx4-h78v-vm56)

Improvements

  • verify=True now reuses a global SSLContext which should improve request time variance between first and subsequent requests. It should also minimize certificate load time on Windows systems when using a Python version built with OpenSSL 3.x. (#6667)
  • Requests now supports optional use of character detection (chardet or charset_normalizer) when repackaged or vendored. This enables pip and other projects to minimize their vendoring surface area. The Response.text() and apparent_encoding APIs will default to utf-8 if neither library is present. (#6702)

Bugfixes

  • Fixed bug in length detection where emoji length was incorrectly calculated in the request content-length. (#6589)
  • Fixed deserialization bug in JSONDecodeError. (#6629)
  • Fixed bug where an extra leading / (path separator) could lead urllib3 to unnecessarily reparse the request URI. (#6644)

Deprecations

  • Requests has officially added support for CPython 3.12 (#6503)
  • Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
  • Requests has officially dropped support for CPython 3.7 (#6642)
  • Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)

Documentation

  • Various typo fixes and doc improvements.

Packaging

  • Requests has started adopting some modern packaging practices. The source files for the projects (formerly requests) is now located in src/requests in the Requests sdist. (#6506)
  • Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system using hatchling. This should not impact the average user, but extremely old versions of packaging utilities may have issues with the new packaging format.

2.31.0 (2023-05-22)

Security

... (truncated)

Commits
  • d6ebc4a v2.32.0
  • 9a40d12 Avoid reloading root certificates to improve concurrent performance (#6667)
  • 0c030f7 Merge pull request #6702 from nateprewitt/no_char_detection
  • 555b870 Allow character detection dependencies to be optional in post-packaging steps
  • d6dded3 Merge pull request #6700 from franekmagiera/update-redirect-to-invalid-uri-test
  • bf24b7d Use an invalid URI that will not cause httpbin to throw 500
  • 2d5f547 Pin 3.8 and 3.9 runners back to macos-13 (#6688)
  • f1bb07d Merge pull request #6687 from psf/dependabot/github_actions/github/codeql-act...
  • 60047ad Bump github/codeql-action from 3.24.0 to 3.25.0
  • 31ebb81 Merge pull request #6682 from frenzymadness/pytest8
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

This change is Reviewable

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label May 21, 2024
@MeggyCal
Copy link

MeggyCal commented May 23, 2024

Tests fail due to a bug in requests-unixsocket, which appears unmaintained. Living fork (with a fixed release 0.4.0) here: https://gitlab.com/thelabnyc/requests-unixsocket2

@MeggyCal
Copy link

Please, update requests straight to 2.32.2, the releases 2.32.0 and 2.32.1 are yanked on PyPI.

updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@webknjaz webknjaz force-pushed the dependabot/pip/requirements/requests-2.32.0 branch from 366226e to 4e83fb4 Compare September 20, 2025 14:45
@webknjaz webknjaz closed this Sep 20, 2025
Copy link
Contributor Author

dependabot bot commented on behalf of github Sep 20, 2025

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/pip/requirements/requests-2.32.0 branch September 20, 2025 14:46
Copy link

codecov bot commented Sep 20, 2025

❌ 4 Tests Failed:

Tests completed Failed Passed Skipped
224 4 220 3
View the full list of 4 ❄️ flaky tests
cheroot.test.test_server::test_peercreds_unix_sock[abstract]

Flake rate in main: 9.80% (Passed 773 times, Failed 84 times)

Stack Traces | 0.007s run time
self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d5b880>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d5b880>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:532: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:400: in _get_connection
    #x1B[0mconn = #x1B[96mself#x1B[39;49;00m.poolmanager.connection_from_host(#x1B[90m#x1B[39;49;00m
        cert       = None
        host_params = {'host': '%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855', 'port': None, 'scheme': 'http+unix'}
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        proxies    = OrderedDict()
        proxy      = None
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d5b880>
        verify     = True
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:246: in connection_from_host
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.connection_from_context(request_context)#x1B[90m#x1B[39;49;00m
        host       = '%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855'
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        port       = 80
        request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855', 'maxsize': 10, ...}
        scheme     = 'http+unix'
        self       = <urllib3.poolmanager.PoolManager object at 0x7ff248d5b970>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <urllib3.poolmanager.PoolManager object at 0x7ff248d5b970>
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855', 'maxsize': 10, ...}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92mconnection_from_context#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, request_context):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    ``request_context`` must at least contain the ``scheme`` key and its#x1B[39;49;00m
    #x1B[33m    value must be a key in ``key_fn_by_scheme`` instance variable.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        scheme = request_context[#x1B[33m"#x1B[39;49;00m#x1B[33mscheme#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m].lower()#x1B[90m#x1B[39;49;00m
        pool_key_constructor = #x1B[96mself#x1B[39;49;00m.key_fn_by_scheme.get(scheme)#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m pool_key_constructor:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m URLSchemeUnknown(scheme)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix#x1B[0m

pool_key_constructor = None
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855', 'maxsize': 10, ...}
scheme     = 'http+unix'
self       = <urllib3.poolmanager.PoolManager object at 0x7ff248d5b970>

#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:258: URLSchemeUnknown

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m

http_request_timeout = 0.1
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248c37400>

    #x1B[0m#x1B[37m@unix_only_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[37m@non_macos_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[37m@pytest#x1B[39;49;00m.mark.flaky(reruns=#x1B[94m3#x1B[39;49;00m, reruns_delay=#x1B[94m2#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m #x1B[92mtest_peercreds_unix_sock#x1B[39;49;00m(http_request_timeout, peercreds_enabled_server):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Check that ``PEERCRED`` lookup works when enabled."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        httpserver = peercreds_enabled_server#x1B[90m#x1B[39;49;00m
        bind_addr = httpserver.bind_addr#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(bind_addr, #x1B[96mbytes#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
            bind_addr = bind_addr.decode()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# pylint: disable=possibly-unused-variable#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        quoted = urllib.parse.quote(bind_addr, safe=#x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        unix_base_uri = #x1B[33m'#x1B[39;49;00m#x1B[33mhttp+unix://#x1B[39;49;00m#x1B[33m{quoted}#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.format(**#x1B[96mlocals#x1B[39;49;00m())#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        expected_peercreds = os.getpid(), os.getuid(), os.getgid()#x1B[90m#x1B[39;49;00m
        expected_peercreds = #x1B[33m'#x1B[39;49;00m#x1B[33m|#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.join(#x1B[96mmap#x1B[39;49;00m(#x1B[96mstr#x1B[39;49;00m, expected_peercreds))#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mwith#x1B[39;49;00m requests_unixsocket.monkeypatch():#x1B[90m#x1B[39;49;00m
>           peercreds_resp = requests.get(#x1B[90m#x1B[39;49;00m
                unix_base_uri + PEERCRED_IDS_URI,#x1B[90m#x1B[39;49;00m
                timeout=http_request_timeout,#x1B[90m#x1B[39;49;00m
            )#x1B[90m#x1B[39;49;00m

bind_addr  = '\x00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855'
expected_peercreds = '2032|1001|1001'
http_request_timeout = 0.1
httpserver = <cheroot.server.HTTPServer object at 0x7ff248c37400>
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248c37400>
quoted     = '%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855'
unix_base_uri = 'http+unix://%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855'

#x1B[1m#x1B[31mcheroot/test/test_server.py#x1B[0m:277: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:51: in get
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m request(#x1B[33m'#x1B[39;49;00m#x1B[33mget#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        url        = 'http+unix://%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855/peer_creds/ids'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:46: in request
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m session.request(method=method, url=url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        method     = 'get'
        session    = <requests_unixsocket.Session object at 0x7ff248d5a9b0>
        url        = 'http+unix://%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855/peer_creds/ids'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:589: in request
    #x1B[0mresp = #x1B[96mself#x1B[39;49;00m.send(prep, **send_kwargs)#x1B[90m#x1B[39;49;00m
        allow_redirects = True
        auth       = None
        cert       = None
        cookies    = None
        data       = None
        files      = None
        headers    = None
        hooks      = None
        json       = None
        method     = 'get'
        params     = None
        prep       = <PreparedRequest [GET]>
        proxies    = {}
        req        = <Request [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248d5a9b0>
        send_kwargs = {'allow_redirects': True, 'cert': None, 'proxies': OrderedDict(), 'stream': False, ...}
        settings   = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True}
        stream     = None
        timeout    = 0.1
        url        = 'http+unix://%00cheroot-test-socketbf83780a-268e-4de3-a9f0-40051457a855/peer_creds/ids'
        verify     = None
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:703: in send
    #x1B[0mr = adapter.send(request, **kwargs)#x1B[90m#x1B[39;49;00m
        adapter    = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d5b880>
        allow_redirects = True
        hooks      = {'response': []}
        kwargs     = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 0.1, ...}
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248d5a9b0>
        start      = 1758379737.9195235
        stream     = False
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d5b880>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m LocationValueError #x1B[94mas#x1B[39;49;00m e:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m InvalidURL(e, request=request)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           requests.exceptions.InvalidURL: Not supported URL scheme http+unix#x1B[0m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d5b880>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:534: InvalidURL
cheroot.test.test_server::test_peercreds_unix_sock[file]

Flake rate in main: 9.80% (Passed 773 times, Failed 84 times)

Stack Traces | 0.006s run time
self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d30a30>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d30a30>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:532: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:400: in _get_connection
    #x1B[0mconn = #x1B[96mself#x1B[39;49;00m.poolmanager.connection_from_host(#x1B[90m#x1B[39;49;00m
        cert       = None
        host_params = {'host': '%2Ftmp%2Ftmpg2btdsuk', 'port': None, 'scheme': 'http+unix'}
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        proxies    = OrderedDict()
        proxy      = None
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d30a30>
        verify     = True
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:246: in connection_from_host
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.connection_from_context(request_context)#x1B[90m#x1B[39;49;00m
        host       = '%2Ftmp%2Ftmpg2btdsuk'
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        port       = 80
        request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftmpg2btdsuk', 'maxsize': 10, ...}
        scheme     = 'http+unix'
        self       = <urllib3.poolmanager.PoolManager object at 0x7ff248d316f0>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <urllib3.poolmanager.PoolManager object at 0x7ff248d316f0>
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftmpg2btdsuk', 'maxsize': 10, ...}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92mconnection_from_context#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, request_context):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    ``request_context`` must at least contain the ``scheme`` key and its#x1B[39;49;00m
    #x1B[33m    value must be a key in ``key_fn_by_scheme`` instance variable.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        scheme = request_context[#x1B[33m"#x1B[39;49;00m#x1B[33mscheme#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m].lower()#x1B[90m#x1B[39;49;00m
        pool_key_constructor = #x1B[96mself#x1B[39;49;00m.key_fn_by_scheme.get(scheme)#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m pool_key_constructor:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m URLSchemeUnknown(scheme)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix#x1B[0m

pool_key_constructor = None
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftmpg2btdsuk', 'maxsize': 10, ...}
scheme     = 'http+unix'
self       = <urllib3.poolmanager.PoolManager object at 0x7ff248d316f0>

#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:258: URLSchemeUnknown

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m

http_request_timeout = 0.1
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248d32fb0>

    #x1B[0m#x1B[37m@unix_only_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[37m@non_macos_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[37m@pytest#x1B[39;49;00m.mark.flaky(reruns=#x1B[94m3#x1B[39;49;00m, reruns_delay=#x1B[94m2#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m #x1B[92mtest_peercreds_unix_sock#x1B[39;49;00m(http_request_timeout, peercreds_enabled_server):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Check that ``PEERCRED`` lookup works when enabled."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        httpserver = peercreds_enabled_server#x1B[90m#x1B[39;49;00m
        bind_addr = httpserver.bind_addr#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(bind_addr, #x1B[96mbytes#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
            bind_addr = bind_addr.decode()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# pylint: disable=possibly-unused-variable#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        quoted = urllib.parse.quote(bind_addr, safe=#x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        unix_base_uri = #x1B[33m'#x1B[39;49;00m#x1B[33mhttp+unix://#x1B[39;49;00m#x1B[33m{quoted}#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.format(**#x1B[96mlocals#x1B[39;49;00m())#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        expected_peercreds = os.getpid(), os.getuid(), os.getgid()#x1B[90m#x1B[39;49;00m
        expected_peercreds = #x1B[33m'#x1B[39;49;00m#x1B[33m|#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.join(#x1B[96mmap#x1B[39;49;00m(#x1B[96mstr#x1B[39;49;00m, expected_peercreds))#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mwith#x1B[39;49;00m requests_unixsocket.monkeypatch():#x1B[90m#x1B[39;49;00m
>           peercreds_resp = requests.get(#x1B[90m#x1B[39;49;00m
                unix_base_uri + PEERCRED_IDS_URI,#x1B[90m#x1B[39;49;00m
                timeout=http_request_timeout,#x1B[90m#x1B[39;49;00m
            )#x1B[90m#x1B[39;49;00m

bind_addr  = '/tmp/tmpg2btdsuk'
expected_peercreds = '2032|1001|1001'
http_request_timeout = 0.1
httpserver = <cheroot.server.HTTPServer object at 0x7ff248d32fb0>
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248d32fb0>
quoted     = '%2Ftmp%2Ftmpg2btdsuk'
unix_base_uri = 'http+unix://%2Ftmp%2Ftmpg2btdsuk'

#x1B[1m#x1B[31mcheroot/test/test_server.py#x1B[0m:277: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:51: in get
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m request(#x1B[33m'#x1B[39;49;00m#x1B[33mget#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        url        = 'http+unix://%2Ftmp%2Ftmpg2btdsuk/peer_creds/ids'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:46: in request
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m session.request(method=method, url=url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        method     = 'get'
        session    = <requests_unixsocket.Session object at 0x7ff248d319c0>
        url        = 'http+unix://%2Ftmp%2Ftmpg2btdsuk/peer_creds/ids'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:589: in request
    #x1B[0mresp = #x1B[96mself#x1B[39;49;00m.send(prep, **send_kwargs)#x1B[90m#x1B[39;49;00m
        allow_redirects = True
        auth       = None
        cert       = None
        cookies    = None
        data       = None
        files      = None
        headers    = None
        hooks      = None
        json       = None
        method     = 'get'
        params     = None
        prep       = <PreparedRequest [GET]>
        proxies    = {}
        req        = <Request [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248d319c0>
        send_kwargs = {'allow_redirects': True, 'cert': None, 'proxies': OrderedDict(), 'stream': False, ...}
        settings   = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True}
        stream     = None
        timeout    = 0.1
        url        = 'http+unix://%2Ftmp%2Ftmpg2btdsuk/peer_creds/ids'
        verify     = None
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:703: in send
    #x1B[0mr = adapter.send(request, **kwargs)#x1B[90m#x1B[39;49;00m
        adapter    = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d30a30>
        allow_redirects = True
        hooks      = {'response': []}
        kwargs     = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 0.1, ...}
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248d319c0>
        start      = 1758379746.0095325
        stream     = False
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d30a30>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m LocationValueError #x1B[94mas#x1B[39;49;00m e:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m InvalidURL(e, request=request)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           requests.exceptions.InvalidURL: Not supported URL scheme http+unix#x1B[0m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d30a30>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:534: InvalidURL
cheroot.test.test_server::test_peercreds_unix_sock_with_lookup[abstract]

Flake rate in main: 10.42% (Passed 129 times, Failed 15 times)

Stack Traces | 0.002s run time
self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d39360>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d39360>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:532: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:400: in _get_connection
    #x1B[0mconn = #x1B[96mself#x1B[39;49;00m.poolmanager.connection_from_host(#x1B[90m#x1B[39;49;00m
        cert       = None
        host_params = {'host': '%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548', 'port': None, 'scheme': 'http+unix'}
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        proxies    = OrderedDict()
        proxy      = None
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d39360>
        verify     = True
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:246: in connection_from_host
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.connection_from_context(request_context)#x1B[90m#x1B[39;49;00m
        host       = '%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548'
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        port       = 80
        request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548', 'maxsize': 10, ...}
        scheme     = 'http+unix'
        self       = <urllib3.poolmanager.PoolManager object at 0x7ff248d39240>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <urllib3.poolmanager.PoolManager object at 0x7ff248d39240>
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548', 'maxsize': 10, ...}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92mconnection_from_context#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, request_context):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    ``request_context`` must at least contain the ``scheme`` key and its#x1B[39;49;00m
    #x1B[33m    value must be a key in ``key_fn_by_scheme`` instance variable.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        scheme = request_context[#x1B[33m"#x1B[39;49;00m#x1B[33mscheme#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m].lower()#x1B[90m#x1B[39;49;00m
        pool_key_constructor = #x1B[96mself#x1B[39;49;00m.key_fn_by_scheme.get(scheme)#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m pool_key_constructor:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m URLSchemeUnknown(scheme)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix#x1B[0m

pool_key_constructor = None
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548', 'maxsize': 10, ...}
scheme     = 'http+unix'
self       = <urllib3.poolmanager.PoolManager object at 0x7ff248d39240>

#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:258: URLSchemeUnknown

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m

http_request_timeout = 0.1
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248d3ba60>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.skipif(#x1B[90m#x1B[39;49;00m
        #x1B[95mnot#x1B[39;49;00m IS_UID_GID_RESOLVABLE,#x1B[90m#x1B[39;49;00m
        reason=#x1B[33m'#x1B[39;49;00m#x1B[33mModules `grp` and `pwd` are not available #x1B[39;49;00m#x1B[33m'#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[33m'#x1B[39;49;00m#x1B[33munder the current platform#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    )#x1B[90m#x1B[39;49;00m
    #x1B[37m@unix_only_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[37m@non_macos_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m #x1B[92mtest_peercreds_unix_sock_with_lookup#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        http_request_timeout,#x1B[90m#x1B[39;49;00m
        peercreds_enabled_server,#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Check that ``PEERCRED`` resolution works when enabled."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        httpserver = peercreds_enabled_server#x1B[90m#x1B[39;49;00m
        httpserver.peercreds_resolve_enabled = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        bind_addr = httpserver.bind_addr#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(bind_addr, #x1B[96mbytes#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
            bind_addr = bind_addr.decode()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# pylint: disable=possibly-unused-variable#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        quoted = urllib.parse.quote(bind_addr, safe=#x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        unix_base_uri = #x1B[33m'#x1B[39;49;00m#x1B[33mhttp+unix://#x1B[39;49;00m#x1B[33m{quoted}#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.format(**#x1B[96mlocals#x1B[39;49;00m())#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mimport#x1B[39;49;00m #x1B[04m#x1B[96mgrp#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mimport#x1B[39;49;00m #x1B[04m#x1B[96mpwd#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        expected_textcreds = (#x1B[90m#x1B[39;49;00m
            pwd.getpwuid(os.getuid()).pw_name,#x1B[90m#x1B[39;49;00m
            grp.getgrgid(os.getgid()).gr_name,#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        expected_textcreds = #x1B[33m'#x1B[39;49;00m#x1B[33m!#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.join(#x1B[96mmap#x1B[39;49;00m(#x1B[96mstr#x1B[39;49;00m, expected_textcreds))#x1B[90m#x1B[39;49;00m
        #x1B[94mwith#x1B[39;49;00m requests_unixsocket.monkeypatch():#x1B[90m#x1B[39;49;00m
>           peercreds_text_resp = requests.get(#x1B[90m#x1B[39;49;00m
                unix_base_uri + PEERCRED_TEXTS_URI,#x1B[90m#x1B[39;49;00m
                timeout=http_request_timeout,#x1B[90m#x1B[39;49;00m
            )#x1B[90m#x1B[39;49;00m

bind_addr  = '\x00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548'
expected_textcreds = 'runner!runner'
grp        = <module 'grp' from '.../hostedtoolcache/Python/3.10.18.../x64/lib/python3.10/lib-dynload/grp.cpython-310-x86_64-linux-gnu.so'>
http_request_timeout = 0.1
httpserver = <cheroot.server.HTTPServer object at 0x7ff248d3ba60>
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248d3ba60>
pwd        = <module 'pwd' (built-in)>
quoted     = '%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548'
unix_base_uri = 'http+unix://%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548'

#x1B[1m#x1B[31mcheroot/test/test_server.py#x1B[0m:324: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:51: in get
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m request(#x1B[33m'#x1B[39;49;00m#x1B[33mget#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        url        = 'http+unix://%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548/peer_creds/texts'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:46: in request
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m session.request(method=method, url=url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        method     = 'get'
        session    = <requests_unixsocket.Session object at 0x7ff248d38f40>
        url        = 'http+unix://%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548/peer_creds/texts'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:589: in request
    #x1B[0mresp = #x1B[96mself#x1B[39;49;00m.send(prep, **send_kwargs)#x1B[90m#x1B[39;49;00m
        allow_redirects = True
        auth       = None
        cert       = None
        cookies    = None
        data       = None
        files      = None
        headers    = None
        hooks      = None
        json       = None
        method     = 'get'
        params     = None
        prep       = <PreparedRequest [GET]>
        proxies    = {}
        req        = <Request [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248d38f40>
        send_kwargs = {'allow_redirects': True, 'cert': None, 'proxies': OrderedDict(), 'stream': False, ...}
        settings   = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True}
        stream     = None
        timeout    = 0.1
        url        = 'http+unix://%00cheroot-test-socketfe827f98-29ff-4f50-a4fb-279f36205548/peer_creds/texts'
        verify     = None
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:703: in send
    #x1B[0mr = adapter.send(request, **kwargs)#x1B[90m#x1B[39;49;00m
        adapter    = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d39360>
        allow_redirects = True
        hooks      = {'response': []}
        kwargs     = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 0.1, ...}
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248d38f40>
        start      = 1758379746.5222874
        stream     = False
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d39360>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m LocationValueError #x1B[94mas#x1B[39;49;00m e:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m InvalidURL(e, request=request)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           requests.exceptions.InvalidURL: Not supported URL scheme http+unix#x1B[0m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248d39360>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:534: InvalidURL
cheroot.test.test_server::test_peercreds_unix_sock_with_lookup[file]

Flake rate in main: 10.42% (Passed 129 times, Failed 15 times)

Stack Traces | 0.002s run time
self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248cd0940>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248cd0940>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:532: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:400: in _get_connection
    #x1B[0mconn = #x1B[96mself#x1B[39;49;00m.poolmanager.connection_from_host(#x1B[90m#x1B[39;49;00m
        cert       = None
        host_params = {'host': '%2Ftmp%2Ftmp9fv3pcgl', 'port': None, 'scheme': 'http+unix'}
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        proxies    = OrderedDict()
        proxy      = None
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248cd0940>
        verify     = True
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:246: in connection_from_host
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.connection_from_context(request_context)#x1B[90m#x1B[39;49;00m
        host       = '%2Ftmp%2Ftmp9fv3pcgl'
        pool_kwargs = {'cert_reqs': 'CERT_REQUIRED', 'ssl_context': <ssl.SSLContext object at 0x7ff252185fc0>}
        port       = 80
        request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftmp9fv3pcgl', 'maxsize': 10, ...}
        scheme     = 'http+unix'
        self       = <urllib3.poolmanager.PoolManager object at 0x7ff248cd0c40>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <urllib3.poolmanager.PoolManager object at 0x7ff248cd0c40>
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftmp9fv3pcgl', 'maxsize': 10, ...}

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92mconnection_from_context#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, request_context):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    ``request_context`` must at least contain the ``scheme`` key and its#x1B[39;49;00m
    #x1B[33m    value must be a key in ``key_fn_by_scheme`` instance variable.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        scheme = request_context[#x1B[33m"#x1B[39;49;00m#x1B[33mscheme#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m].lower()#x1B[90m#x1B[39;49;00m
        pool_key_constructor = #x1B[96mself#x1B[39;49;00m.key_fn_by_scheme.get(scheme)#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m pool_key_constructor:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m URLSchemeUnknown(scheme)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix#x1B[0m

pool_key_constructor = None
request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftmp9fv3pcgl', 'maxsize': 10, ...}
scheme     = 'http+unix'
self       = <urllib3.poolmanager.PoolManager object at 0x7ff248cd0c40>

#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/urllib3/poolmanager.py#x1B[0m:258: URLSchemeUnknown

#x1B[33mDuring handling of the above exception, another exception occurred:#x1B[0m

http_request_timeout = 0.1
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248cd3370>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.skipif(#x1B[90m#x1B[39;49;00m
        #x1B[95mnot#x1B[39;49;00m IS_UID_GID_RESOLVABLE,#x1B[90m#x1B[39;49;00m
        reason=#x1B[33m'#x1B[39;49;00m#x1B[33mModules `grp` and `pwd` are not available #x1B[39;49;00m#x1B[33m'#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[33m'#x1B[39;49;00m#x1B[33munder the current platform#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    )#x1B[90m#x1B[39;49;00m
    #x1B[37m@unix_only_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[37m@non_macos_sock_test#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m #x1B[92mtest_peercreds_unix_sock_with_lookup#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        http_request_timeout,#x1B[90m#x1B[39;49;00m
        peercreds_enabled_server,#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Check that ``PEERCRED`` resolution works when enabled."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        httpserver = peercreds_enabled_server#x1B[90m#x1B[39;49;00m
        httpserver.peercreds_resolve_enabled = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        bind_addr = httpserver.bind_addr#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(bind_addr, #x1B[96mbytes#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
            bind_addr = bind_addr.decode()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# pylint: disable=possibly-unused-variable#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        quoted = urllib.parse.quote(bind_addr, safe=#x1B[33m'#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        unix_base_uri = #x1B[33m'#x1B[39;49;00m#x1B[33mhttp+unix://#x1B[39;49;00m#x1B[33m{quoted}#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.format(**#x1B[96mlocals#x1B[39;49;00m())#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mimport#x1B[39;49;00m #x1B[04m#x1B[96mgrp#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mimport#x1B[39;49;00m #x1B[04m#x1B[96mpwd#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        expected_textcreds = (#x1B[90m#x1B[39;49;00m
            pwd.getpwuid(os.getuid()).pw_name,#x1B[90m#x1B[39;49;00m
            grp.getgrgid(os.getgid()).gr_name,#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
        expected_textcreds = #x1B[33m'#x1B[39;49;00m#x1B[33m!#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m.join(#x1B[96mmap#x1B[39;49;00m(#x1B[96mstr#x1B[39;49;00m, expected_textcreds))#x1B[90m#x1B[39;49;00m
        #x1B[94mwith#x1B[39;49;00m requests_unixsocket.monkeypatch():#x1B[90m#x1B[39;49;00m
>           peercreds_text_resp = requests.get(#x1B[90m#x1B[39;49;00m
                unix_base_uri + PEERCRED_TEXTS_URI,#x1B[90m#x1B[39;49;00m
                timeout=http_request_timeout,#x1B[90m#x1B[39;49;00m
            )#x1B[90m#x1B[39;49;00m

bind_addr  = '/tmp/tmp9fv3pcgl'
expected_textcreds = 'runner!runner'
grp        = <module 'grp' from '.../hostedtoolcache/Python/3.10.18.../x64/lib/python3.10/lib-dynload/grp.cpython-310-x86_64-linux-gnu.so'>
http_request_timeout = 0.1
httpserver = <cheroot.server.HTTPServer object at 0x7ff248cd3370>
peercreds_enabled_server = <cheroot.server.HTTPServer object at 0x7ff248cd3370>
pwd        = <module 'pwd' (built-in)>
quoted     = '%2Ftmp%2Ftmp9fv3pcgl'
unix_base_uri = 'http+unix://%2Ftmp%2Ftmp9fv3pcgl'

#x1B[1m#x1B[31mcheroot/test/test_server.py#x1B[0m:324: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:51: in get
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m request(#x1B[33m'#x1B[39;49;00m#x1B[33mget#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m, url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        url        = 'http+unix://%2Ftmp%2Ftmp9fv3pcgl/peer_creds/texts'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests_unixsocket/__init__.py#x1B[0m:46: in request
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m session.request(method=method, url=url, **kwargs)#x1B[90m#x1B[39;49;00m
        kwargs     = {'allow_redirects': True, 'timeout': 0.1}
        method     = 'get'
        session    = <requests_unixsocket.Session object at 0x7ff248cd05e0>
        url        = 'http+unix://%2Ftmp%2Ftmp9fv3pcgl/peer_creds/texts'
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:589: in request
    #x1B[0mresp = #x1B[96mself#x1B[39;49;00m.send(prep, **send_kwargs)#x1B[90m#x1B[39;49;00m
        allow_redirects = True
        auth       = None
        cert       = None
        cookies    = None
        data       = None
        files      = None
        headers    = None
        hooks      = None
        json       = None
        method     = 'get'
        params     = None
        prep       = <PreparedRequest [GET]>
        proxies    = {}
        req        = <Request [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248cd05e0>
        send_kwargs = {'allow_redirects': True, 'cert': None, 'proxies': OrderedDict(), 'stream': False, ...}
        settings   = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'verify': True}
        stream     = None
        timeout    = 0.1
        url        = 'http+unix://%2Ftmp%2Ftmp9fv3pcgl/peer_creds/texts'
        verify     = None
#x1B[1m#x1B[31m..../py/lib/python3.10....../site-packages/requests/sessions.py#x1B[0m:703: in send
    #x1B[0mr = adapter.send(request, **kwargs)#x1B[90m#x1B[39;49;00m
        adapter    = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248cd0940>
        allow_redirects = True
        hooks      = {'response': []}
        kwargs     = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 0.1, ...}
        request    = <PreparedRequest [GET]>
        self       = <requests_unixsocket.Session object at 0x7ff248cd05e0>
        start      = 1758379747.034451
        stream     = False
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248cd0940>
request = <PreparedRequest [GET]>, stream = False, timeout = 0.1, verify = True
cert = None, proxies = OrderedDict()

    #x1B[0m#x1B[94mdef#x1B[39;49;00m #x1B[92msend#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m, request, stream=#x1B[94mFalse#x1B[39;49;00m, timeout=#x1B[94mNone#x1B[39;49;00m, verify=#x1B[94mTrue#x1B[39;49;00m, cert=#x1B[94mNone#x1B[39;49;00m, proxies=#x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ):#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Sends PreparedRequest object. Returns Response object.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.#x1B[39;49;00m
    #x1B[33m    :param stream: (optional) Whether to stream the request content.#x1B[39;49;00m
    #x1B[33m    :param timeout: (optional) How long to wait for the server to send#x1B[39;49;00m
    #x1B[33m        data before giving up, as a float, or a :ref:`(connect timeout,#x1B[39;49;00m
    #x1B[33m        read timeout) <timeouts>` tuple.#x1B[39;49;00m
    #x1B[33m    :type timeout: float or tuple or urllib3 Timeout object#x1B[39;49;00m
    #x1B[33m    :param verify: (optional) Either a boolean, in which case it controls whether#x1B[39;49;00m
    #x1B[33m        we verify the server's TLS certificate, or a string, in which case it#x1B[39;49;00m
    #x1B[33m        must be a path to a CA bundle to use#x1B[39;49;00m
    #x1B[33m    :param cert: (optional) Any user-provided SSL certificate to be trusted.#x1B[39;49;00m
    #x1B[33m    :param proxies: (optional) The proxies dictionary to apply to the request.#x1B[39;49;00m
    #x1B[33m    :rtype: requests.Response#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            conn = #x1B[96mself#x1B[39;49;00m._get_connection(request, verify, proxies=proxies, cert=cert)#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m LocationValueError #x1B[94mas#x1B[39;49;00m e:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m InvalidURL(e, request=request)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           requests.exceptions.InvalidURL: Not supported URL scheme http+unix#x1B[0m

cert       = None
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
self       = <requests_unixsocket.adapters.UnixAdapter object at 0x7ff248cd0940>
stream     = False
timeout    = 0.1
verify     = True

#x1B[1m#x1B[31m..../py/lib/python3.10........./site-packages/requests/adapters.py#x1B[0m:534: InvalidURL

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants