Package: src:requests
Version: 2.32.3+dfsg-1
Tags: ftbfs trixie sid
User:
debian-qa@lists.debian.org
Usertags: ftbfs-during-trixie-support-period
Dear maintainer:
During a rebuild of all packages in unstable in the year 2028, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules build
dh build --with python3,sphinxdoc --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests
* Building wheel...
<string>:7: SetuptoolsDeprecationWarning: The test command is disabled and references to it are deprecated.
!!
********************************************************************************
[... snipped ...]
except MaxRetryError as e:
if isinstance(e.reason, ConnectTimeoutError):
# TODO: Remove this in 3.0.0: see #2811
if not isinstance(e.reason, NewConnectionError):
raise ConnectTimeout(e, request=request)
if isinstance(e.reason, ResponseError):
raise RetryError(e, request=request)
if isinstance(e.reason, _ProxyError):
raise ProxyError(e, request=request)
if isinstance(e.reason, _SSLError):
# This branch is for urllib3 v1.22 and later.
raise SSLError(e, request=request)
E requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost', port=49275): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:2639)')))
requests/adapters.py:698: SSLError
=============================== warnings summary ===============================
tests/test_requests.py::TestRequests::test_set_basicauth[42-42]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests/build/requests/auth.py:36: DeprecationWarning: Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (42) to a string or bytes object in the near
future to avoid problems.
warnings.warn(
tests/test_requests.py::TestRequests::test_set_basicauth[42-42]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests/build/requests/auth.py:46: DeprecationWarning: Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (<class 'int'>) to a string or bytes object
in the near future to avoid problems.
warnings.warn(
tests/test_requests.py::TestRequests::test_set_basicauth[None-None]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests/build/requests/auth.py:36: DeprecationWarning: Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (None) to a string or bytes object in the
near future to avoid problems.
warnings.warn(
tests/test_requests.py::TestRequests::test_set_basicauth[None-None]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests/build/requests/auth.py:46: DeprecationWarning: Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (<class 'NoneType'>) to a string or bytes
object in the near future to avoid problems.
warnings.warn(
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_True
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_bundle_expired_cert
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_bundle_unexpired_cert
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_mtls_settings
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'localhost'. Adding certificate verification is strongly advised. See:
https://urllib3.readthedocs.io/en/latest/
advanced-usage.html#tls-warnings
warnings.warn(
tests/test_testserver.py::TestTestServer::test_server_closes
/usr/lib/python3/dist-packages/_pytest/python.py:159: ResourceWarning: unclosed <socket.socket fd=13, family=2, type=1, proto=0, laddr=('0.0.0.0', 36956)>
result = testfunction(**testargs)
Enable tracemalloc to get traceback where the object was allocated.
See
https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/test_testserver.py::TestTestServer::test_basic_waiting_server
/usr/lib/python3/dist-packages/_pytest/python.py:159: ResourceWarning: unclosed <socket.socket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 44010)>
result = testfunction(**testargs)
Enable tracemalloc to get traceback where the object was allocated.
See
https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/test_utils.py::TestContentEncodingDetection::test_none tests/test_utils.py::TestContentEncodingDetection::test_pragmas[<meta charset="UTF-8">]
tests/test_utils.py::TestContentEncodingDetection::test_pragmas[<meta http-equiv="Content-type" content="text/html;charset=UTF-8">]
tests/test_utils.py::TestContentEncodingDetection::test_pragmas[<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />]
tests/test_utils.py::TestContentEncodingDetection::test_pragmas[<?xml version="1.0" encoding="UTF-8"?>]
tests/test_utils.py::TestContentEncodingDetection::test_precedence
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests/build/requests/utils.py:494: DeprecationWarning: In requests 3.0, get_encodings_from_content will be removed. For more information, please see the discussion on issue #2266. (This warning should only
appear once.)
warnings.warn(
-- Docs:
https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================
FAILED tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_mtls_settings
=== 1 failed, 423 passed, 15 skipped, 167 deselected, 16 warnings in 37.40s ====
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_requests/build; python3.13 -m pytest tests -k "not test_use_proxy_from_environment and not TestGetEnvironProxies and not test_mixed_case_
scheme_acceptable and not test_HTTP_200_OK_GET_ALTERNATIVE and not test_unicode_get and not test_HTTP_302_ALLOW_REDIRECT_GET and not test_HTTP_307_ALLOW_REDIRECT_POST and not test_HTTP_307_ALLOW_REDIRECT_POST_WITH_SEEKABLE and not test_HTTP_302_TOO_MANY_
REDIRECTS and not test_HTTP_302_TOO_MANY_REDIRECTS_WITH_PARAMS and not test_http_301_changes_post_to_get and not test_http_301_doesnt_change_head_to_get and not test_http_302_changes_post_to_get and not test_http_302_doesnt_change_head_to_get and not
test_http_303_changes_post_to_get and not test_http_303_doesnt_change_head_to_get and not test_header_and_body_removal_on_redirect and not test_transfer_enc_removal_on_redirect and not test_fragment_maintained_on_redirect and not test_HTTP_
200_OK_GET_WITH_PARAMS and not test_HTTP_200_OK_GET_WITH_MIXED_PARAMS and not test_set_cookie_on_301 and not test_cookie_sent_on_redirect and not test_cookie_removed_on_expire and not test_cookie_quote_wrapped and not test_cookie_persists_via_api and
not test_request_cookie_overrides_session_cookie and not test_request_cookies_not_persisted and not test_generic_cookiejar_works and not test_param_cookiejar_works and not test_cookielib_cookiejar_on_redirect and not test_requests_in_history_are_not_
overridden and not test_history_is_always_a_list and not test_user_agent_transfers and not test_HTTP_200_OK_HEAD and not test_HTTP_200_OK_PUT and not test_BASICAUTH_TUPLE_HTTP_200_OK_GET and not test_proxy_authorization_preserved_on_request and not test_
basicauth_with_netrc and not test_DIGEST_HTTP_200_OK_GET and not test_DIGEST_AUTH_RETURNS_COOKIE and not test_DIGEST_AUTH_SETS_SESSION_COOKIES and not test_DIGEST_STREAM and not test_DIGESTAUTH_WRONG_HTTP_401_GET and not test_DIGESTAUTH_QUOTE
S_QOP_VALUE and not test_POSTBIN_GET_POST_FILES and not test_invalid_files_input and not test_POSTBIN_SEEKED_OBJECT_WITH_NO_ITER and not test_POSTBIN_GET_POST_FILES_WITH_DATA and not test_post_with_custom_mapping and not test_conflicting_post_params and
not test_request_ok_set and not test_status_raising and not test_decompress_gzip and not test_unicode_header_name and not test_pyopenssl_redirect and not test_http_with_certificate and not test_certificate_failure and not test_urlencoded_get_query_
multivalued_param and not test_different_encodings_dont_break_post and not test_unicode_multipart_post and not test_unicode_method_name and not test_unicode_method_name_with_request_object and not test_custom_content_type and not test_hook_receives_
request_arguments and not test_prepared_request_hook and not test_prepared_from_session and not test_request_with_bytestring_host and not test_time_elapsed_blank and not test_request_and_response_are_pickleable and not test_prepared_request_is_pi
ckleable and not test_prepared_request_with_file_is_pickleable and not test_prepared_request_with_hook_is_pickleable and not test_session_pickling and not test_fixes_1329 and not test_uppercase_scheme_redirect and not test_header_remove_is_case_
insensitive and not test_params_are_merged_case_sensitive and not test_header_validation and not test_auth_is_stripped_on_http_downgrade and not test_auth_is_retained_for_redirect_on_host and not test_manual_redirect_with_partial_body_read and not test_
redirect_with_wrong_gzipped_header and not test_requests_history_is_saved and not test_json_param_post_content_type_works and not test_response_iter_lines and not test_response_context_manager and not test_unconsumed_session_response_closes_connection
and not test_response_json_when_content_is_None and not test_custom_redirect_mixin and not test_stream_timeout and not test_none_timeout and not test_read_timeout and not test_connect_timeout and not test_total_timeout_connect and not test_encoded
_methods and not test_proxy_env_vars_override_default and not test_urllib3_retries and not test_redirecting_to_bad_url and not test_json_decode_compatibility and not test_set_environ and not test_json_decode_persists_doc_attr and not test_header_with_
subclass_types and not test_urllib3_pool_connection_closed"
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_requests/build; python3.12 -m pytest tests -k "not test_use_proxy_from_environment and not TestGetEnvironProxies and not test_mixed_case_scheme_acceptable and not test_HTTP_200_OK_GET_
ALTERNATIVE and not test_unicode_get and not test_HTTP_302_ALLOW_REDIRECT_GET and not test_HTTP_307_ALLOW_REDIRECT_POST and not test_HTTP_307_ALLOW_REDIRECT_POST_WITH_SEEKABLE and not test_HTTP_302_TOO_MANY_REDIRECTS and not test_HTTP_302_TOO_MANY_
REDIRECTS_WITH_PARAMS and not test_http_301_changes_post_to_get and not test_http_301_doesnt_change_head_to_get and not test_http_302_changes_post_to_get and not test_http_302_doesnt_change_head_to_get and not test_http_303_changes_post_to_get and not
test_http_303_doesnt_change_head_to_get and not test_header_and_body_removal_on_redirect and not test_transfer_enc_removal_on_redirect and not test_fragment_maintained_on_redirect and not test_HTTP_200_OK_GET_WITH_PARAMS and not test_HTTP_200_OK_GET_
WITH_MIXED_PARAMS and not test_set_cookie_on_301 and not test_cookie_sent_on_redirect and not test_cookie_removed_on_expire and not test_cookie_quote_wrapped and not test_cookie_persists_via_api and not test_request_cookie_overrides_session_cookie and
not test_request_cookies_not_persisted and not test_generic_cookiejar_works and not test_param_cookiejar_works and not test_cookielib_cookiejar_on_redirect and not test_requests_in_history_are_not_overridden and not test_history_is_always_a_list and not
test_user_agent_transfers and not test_HTTP_200_OK_HEAD and not test_HTTP_200_OK_PUT and not test_BASICAUTH_TUPLE_HTTP_200_OK_GET and not test_proxy_authorization_preserved_on_request and not test_basicauth_with_netrc and not test_DIGEST_HTTP_200_OK_GET
and not test_DIGEST_AUTH_RETURNS_COOKIE and not test_DIGEST_AUTH_SETS_SESSION_COOKIES and not test_DIGEST_STREAM and not test_DIGESTAUTH_WRONG_HTTP_401_GET and not test_DIGESTAUTH_QUOTES_QOP_VALUE and not test_POSTBIN_GET_POST_FILES and
not test_invalid_files_input and not test_POSTBIN_SEEKED_OBJECT_WITH_NO_ITER and not test_POSTBIN_GET_POST_FILES_WITH_DATA and not test_post_with_custom_mapping and not test_conflicting_post_params and not test_request_ok_set and not test_status_raising
and not test_decompress_gzip and not test_unicode_header_name and not test_pyopenssl_redirect and not test_http_with_certificate and not test_certificate_failure and not test_urlencoded_get_query_multivalued_param and not test_different_encodings_dont_
break_post and not test_unicode_multipart_post and not test_unicode_method_name and not test_unicode_method_name_with_request_object and not test_custom_content_type and not test_hook_receives_request_arguments and not test_prepared_request_hook and not
test_prepared_from_session and not test_request_with_bytestring_host and not test_time_elapsed_blank and not test_request_and_response_are_pickleable and not test_prepared_request_is_pickleable and not test_prepared_request_with_file_is_
pickleable and not test_prepared_request_with_hook_is_pickleable and not test_session_pickling and not test_fixes_1329 and not test_uppercase_scheme_redirect and not test_header_remove_is_case_insensitive and not test_params_are_merged_case_sensitive
and not test_header_validation and not test_auth_is_stripped_on_http_downgrade and not test_auth_is_retained_for_redirect_on_host and not test_manual_redirect_with_partial_body_read and not test_redirect_with_wrong_gzipped_header and not test_requests_
history_is_saved and not test_json_param_post_content_type_works and not test_response_iter_lines and not test_response_context_manager and not test_unconsumed_session_response_closes_connection and not test_response_json_when_content_is_None and not
test_custom_redirect_mixin and not test_stream_timeout and not test_none_timeout and not test_read_timeout and not test_connect_timeout and not test_total_timeout_connect and not test_encoded_methods and not test_proxy_env_vars_override_defaul
t and not test_urllib3_retries and not test_redirecting_to_bad_url and not test_json_decode_compatibility and not test_set_environ and not test_json_decode_persists_doc_attr and not test_header_with_subclass_types and not test_urllib3_pool_connection_
closed"
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_requests/build
configfile: pyproject.toml
plugins: mock-3.14.0, typeguard-4.4.1, httpbin-2.1.0
collected 606 items / 167 deselected / 439 selected
tests/test_adapters.py . [ 0%] tests/test_help.py ... [ 0%] tests/test_hooks.py ... [ 1%] tests/test_lowlevel.py ........... [ 4%] tests/test_packages.py ... [ 4%] tests/test_requests.py ................................................. [ 15%] .......s................................................................ [ 32%] ........................................................................ [ 48%] .............F. [ 52%] tests/test_structures.py .................... [ 56%] tests/test_testserver.py ......s.... [ 59%] tests/test_utils.py ..s................................................. [ 71%] ........................................................................ [ 87%] ...........................................ssssssssssss [100%]
=================================== FAILURES ===================================
______ TestPreparingURLs.test_different_connection_pool_for_mtls_settings ______
urllib3.exceptions.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:2571)
The above exception was the direct cause of the following exception:
self = <requests.adapters.HTTPAdapter object at 0x7f08ca0fe7b0>
request = <PreparedRequest [GET]>, stream = False
timeout = Timeout(connect=None, read=None, total=None), verify = False
cert = ('tests/certs/mtls/client/client.pem', 'tests/certs/mtls/client/client.key')
proxies = OrderedDict()
def send(
self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None
):
"""Sends PreparedRequest object. Returns Response object.
:param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
:param stream: (optional) Whether to stream the request content.
:param timeout: (optional) How long to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple or urllib3 Timeout object
:param verify: (optional) Either a boolean, in which case it controls whether
we verify the server's TLS certificate, or a string, in which case it
must be a path to a CA bundle to use
:param cert: (optional) Any user-provided SSL certificate to be trusted.
:param proxies: (optional) The proxies dictionary to apply to the request.
:rtype: requests.Response
"""
try:
conn = self.get_connection_with_tls_context(
request, verify, proxies=proxies, cert=cert
)
except LocationValueError as e:
raise InvalidURL(e, request=request)
self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
timeout=timeout,
verify=verify,
cert=cert,
proxies=proxies,
)
chunked = not (request.body is None or "Content-Length" in request.headers)
if isinstance(timeout, tuple):
try:
connect, read = timeout
timeout = TimeoutSauce(connect=connect, read=read)
except ValueError:
raise ValueError(
f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
f"or a single float to set both timeouts to the same value."
)
elif isinstance(timeout, TimeoutSauce):
pass
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)
try:
resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
requests/adapters.py:667:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/urllib3/connectionpool.py:843: in urlopen
retries = retries.increment(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/', response = None
error = SSLError(SSLError(1, '[SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:2571)'))
_pool = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f08ca0ffb00> _stacktrace = <traceback object at 0x7f08ca887e00>
def increment(
self,
method: str | None = None,
url: str | None = None,
response: BaseHTTPResponse | None = None,
error: Exception | None = None,
_pool: ConnectionPool | None = None,
_stacktrace: TracebackType | None = None,
) -> Self:
"""Return a new Retry object with incremented retry counters.
:param response: A response object, or None, if the server did not
return a response.
:type response: :class:`~urllib3.response.BaseHTTPResponse`
:param Exception error: An error encountered during the request, or
None if the response was received successfully.
:return: A new ``Retry`` object.
"""
if self.total is False and error:
# Disabled, indicate to re-raise the error.
raise reraise(type(error), error, _stacktrace)
total = self.total
if total is not None:
total -= 1
connect = self.connect
read = self.read
redirect = self.redirect
status_count = self.status
other = self.other
cause = "unknown"
status = None
redirect_location = None
if error and self._is_connection_error(error):
# Connect retry?
if connect is False:
raise reraise(type(error), error, _stacktrace)
elif connect is not None:
connect -= 1
elif error and self._is_read_error(error):
# Read retry?
if read is False or method is None or not self._is_method_retryable(method):
raise reraise(type(error), error, _stacktrace)
elif read is not None:
read -= 1
elif error:
# Other retry?
if other is not None:
other -= 1
elif response and response.get_redirect_location():
# Redirect retry?
if redirect is not None:
redirect -= 1
cause = "too many redirects"
response_redirect_location = response.get_redirect_location()
if response_redirect_location:
redirect_location = response_redirect_location
status = response.status
else:
# Incrementing because of a server error like a 500 in
# status_forcelist and the given method is in the allowed_methods
cause = ResponseError.GENERIC_ERROR
if response and response.status:
if status_count is not None:
status_count -= 1
cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status)
status = response.status
history = self.history + (
RequestHistory(method, url, error, status, redirect_location),
)
new_retry = self.new(
total=total,
connect=connect,
read=read,
redirect=redirect,
status=status_count,
other=other,
history=history,
)
if new_retry.is_exhausted():
reason = error or ResponseError(cause)
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='localhost', port=50363): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:2571)')))
/usr/lib/python3/dist-packages/urllib3/util/retry.py:519: MaxRetryError
During handling of the above exception, another exception occurred:
self = <tests.test_requests.TestPreparingURLs object at 0x7f08ca3e71d0>
def test_different_connection_pool_for_mtls_settings(self):
client_cert = None
def response_handler(sock):
nonlocal client_cert
client_cert = sock.getpeercert()
consume_socket_content(sock, timeout=0.5)
sock.send(
b"HTTP/1.1 200 OK\r\n"
b"Content-Length: 18\r\n\r\n"
b'\xff\xfe{\x00"\x00K0"\x00=\x00"\x00\xab0"\x00\r\n'
)
s = requests.Session()
close_server = threading.Event()
server = TLSServer(
handler=response_handler,
wait_to_close_event=close_server,
requests_to_handle=2,
cert_chain="tests/certs/expired/server/server.pem",
keyfile="tests/certs/expired/server/server.key",
mutual_tls=True,
cacert="tests/certs/expired/ca/ca.crt",
)
cert = (
"tests/certs/mtls/client/client.pem",
"tests/certs/mtls/client/client.key",
)
with server as (host, port):
url = f"
https://{host}:{port}"
r1 = s.get(url, verify=False, cert=cert)
tests/test_requests.py:2961:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ requests/sessions.py:602: in get
return self.request("GET", url, **kwargs)
requests/sessions.py:589: in request
resp = self.send(prep, **send_kwargs)
requests/sessions.py:703: in send
r = adapter.send(request, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <requests.adapters.HTTPAdapter object at 0x7f08ca0fe7b0>
request = <PreparedRequest [GET]>, stream = False
timeout = Timeout(connect=None, read=None, total=None), verify = False
cert = ('tests/certs/mtls/client/client.pem', 'tests/certs/mtls/client/client.key')
proxies = OrderedDict()
def send(
self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None
):
"""Sends PreparedRequest object. Returns Response object.
:param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
:param stream: (optional) Whether to stream the request content.
:param timeout: (optional) How long to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple or urllib3 Timeout object
:param verify: (optional) Either a boolean, in which case it controls whether
we verify the server's TLS certificate, or a string, in which case it
must be a path to a CA bundle to use
:param cert: (optional) Any user-provided SSL certificate to be trusted.
:param proxies: (optional) The proxies dictionary to apply to the request.
:rtype: requests.Response
"""
try:
conn = self.get_connection_with_tls_context(
request, verify, proxies=proxies, cert=cert
)
except LocationValueError as e:
raise InvalidURL(e, request=request)
self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
timeout=timeout,
verify=verify,
cert=cert,
proxies=proxies,
)
chunked = not (request.body is None or "Content-Length" in request.headers)
if isinstance(timeout, tuple):
try:
connect, read = timeout
timeout = TimeoutSauce(connect=connect, read=read)
except ValueError:
raise ValueError(
f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
f"or a single float to set both timeouts to the same value."
)
elif isinstance(timeout, TimeoutSauce):
pass
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)
try:
resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
except (ProtocolError, OSError) as err:
raise ConnectionError(err, request=request)
except MaxRetryError as e:
if isinstance(e.reason, ConnectTimeoutError):
# TODO: Remove this in 3.0.0: see #2811
if not isinstance(e.reason, NewConnectionError):
raise ConnectTimeout(e, request=request)
if isinstance(e.reason, ResponseError):
raise RetryError(e, request=request)
if isinstance(e.reason, _ProxyError):
raise ProxyError(e, request=request)
if isinstance(e.reason, _SSLError):
# This branch is for urllib3 v1.22 and later.
raise SSLError(e, request=request)
E requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost', port=50363): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_CERTIFICATE_EXPIRED] ssl/tls alert certificate expired (_ssl.c:2571)')))
requests/adapters.py:698: SSLError
=============================== warnings summary ===============================
tests/test_requests.py::TestRequests::test_set_basicauth[42-42]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_requests/build/requests/auth.py:36: DeprecationWarning: Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (42) to a string or bytes object in the near
future to avoid problems.
warnings.warn(
tests/test_requests.py::TestRequests::test_set_basicauth[42-42]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_requests/build/requests/auth.py:46: DeprecationWarning: Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (<class 'int'>) to a string or bytes object
in the near future to avoid problems.
warnings.warn(
tests/test_requests.py::TestRequests::test_set_basicauth[None-None]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_requests/build/requests/auth.py:36: DeprecationWarning: Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (None) to a string or bytes object in the
near future to avoid problems.
warnings.warn(
tests/test_requests.py::TestRequests::test_set_basicauth[None-None]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_requests/build/requests/auth.py:46: DeprecationWarning: Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (<class 'NoneType'>) to a string or bytes
object in the near future to avoid problems.
warnings.warn(
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_True
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_bundle_expired_cert
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_bundle_unexpired_cert
tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_mtls_settings
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)