https://github.com/bitcoin/bitcoin/actions/runs/28516948743/job/84535785591?pr=35511#step:10:1331
test 2026-07-01T12:58:56.506148Z TestFramework (INFO): Check that requests with whitespace in headers are rejected
node0 2026-07-01T12:58:56.507039Z [http] [httpserver.cpp:826] [NewSockAccepted] [http] HTTP Connection accepted from 127.0.0.1:60406 (id=32)
node0 2026-07-01T12:58:56.507211Z [http] [httpserver.cpp:994] [MaybeDispatchRequestsFromClient] [http] Error reading HTTP request from client 127.0.0.1:60406 (id=32): Invalid header field-name contains whitespace
node0 2026-07-01T12:58:56.507236Z [http] [httpserver.cpp:600] [WriteReply] [http] HTTPResponse (status code: 400 size: 129) added to send buffer for client 127.0.0.1:60406 (id=32)
node0 2026-07-01T12:58:56.507259Z [http] [httpserver.cpp:1169] [MaybeSendBytesFromBuffer] [http] Sent 129 bytes to client 127.0.0.1:60406 (id=32)
node0 2026-07-01T12:58:56.507271Z [http] [httpserver.cpp:1077] [operator()] [http] Disconnecting HTTP client 127.0.0.1:60406 (id=32)
test 2026-07-01T12:58:56.507723Z TestFramework (ERROR): Unexpected exception:
Traceback (most recent call last):
File "D:\a\bitcoin\bitcoin\test\functional\test_framework\test_framework.py", line 145, in main
self.run_test()
~~~~~~~~~~~~~^^
File "D:\a\bitcoin\bitcoin/test/functional/interface_http.py", line 138, in run_test
self.check_whitespace_in_headers()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "D:\a\bitcoin\bitcoin/test/functional/interface_http.py", line 558, in check_whitespace_in_headers
response = conn.post('/', '{"method": "getbestblockhash"}')
File "D:\a\bitcoin\bitcoin/test/functional/interface_http.py", line 67, in post
return self._request('POST', path, data, connection_header, **kwargs)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\a\bitcoin\bitcoin/test/functional/interface_http.py", line 64, in _request
return self.conn.getresponse()
~~~~~~~~~~~~~~~~~~~~~^^
File "C:\hostedtoolcache\windows\Python\3.14.6\x64\Lib\http\client.py", line 1459, in getresponse
response.begin()
~~~~~~~~~~~~~~^^
File "C:\hostedtoolcache\windows\Python\3.14.6\x64\Lib\http\client.py", line 336, in begin
version, status, reason = self._read_status()
~~~~~~~~~~~~~~~~~^^
File "C:\hostedtoolcache\windows\Python\3.14.6\x64\Lib\http\client.py", line 297, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.14.6\x64\Lib\socket.py", line 729, in readinto
return self._sock.recv_into(b)
~~~~~~~~~~~~~~~~~~~~^^^
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine