mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-12 07:39:41 +02:00
Merge bitcoin/bitcoin#34342: cli: Replace libevent usage with simple http client
d61053d97bbuild: Drop libevent from bitcoin-cli link libraries (Fabian Jahr)798d051c80cli: Remove libevent usage (Fabian Jahr)376e7ef07cutil: Expose IOErrorIsPermanent in sock header (Fabian Jahr)5d562430denetbase: Add timeout parameter to ConnectDirectly (Fabian Jahr)a988ac592fcli: Add HTTPResponseHeaders class for parsing response headers (Fabian Jahr)c471c5085bcommon: Add unused UrlEncode function (Fabian Jahr)9687ef1bd9ci: Tolerate unused free functions in intermediate commits (Fabian Jahr) Pull request description: Part of the effort to remove the libevent dependency altogether, see #31194 This takes the parsing logic from the [`HTTPHeaders` class](d549f01caa) from #32061 and puts it into `bitcoin-cli` as a small `HTTPResponseHeaders` class with a comment to revisit potentially sharing this code somehow. This decoupled the two pulls which seems like the most sensible way to deal with this since the actual overlap is very small compared to the impact of each of the pulls which should ideally not block each other. Otherwise the change itself replaces the libevent-based HTTP client with a simple synchronous implementation which uses the `Sock` class directly. ACKs for top commit: hodlinator: re-ACKd61053d97btheStack: re-ACKd61053d97bw0xlt: ACKd61053d97bTree-SHA512: a3580a45faf540ee844aac8cb1dc056a89e8e11b45781d2807baa4736d5c0934284c6066206101b6984111a48a186d67845545d07639b623cb35ccc2d85d3ab2
This commit is contained in:
@@ -177,9 +177,9 @@ class TestBitcoinCli(BitcoinTestFramework):
|
||||
conf_rpcport = "rpcport=" + str(node_rpc_port)
|
||||
self.nodes[0].replace_in_config([(conf_rpcport, "#" + conf_rpcport)])
|
||||
# prefer rpcport over rpcconnect
|
||||
assert_raises_process_error(1, "Could not connect to the server 127.0.0.1:1", self.nodes[0].cli(f"-rpcconnect=127.0.0.1:{node_rpc_port}", "-rpcport=1").echo)
|
||||
assert_raises_process_error(1, "Error while attempting to communicate with server 127.0.0.1:1 (Could not connect to the server)", self.nodes[0].cli(f"-rpcconnect=127.0.0.1:{node_rpc_port}", "-rpcport=1").echo)
|
||||
if have_ipv6:
|
||||
assert_raises_process_error(1, "Could not connect to the server ::1:1", self.nodes[0].cli(f"-rpcconnect=[::1]:{node_rpc_port}", "-rpcport=1").echo)
|
||||
assert_raises_process_error(1, "Error while attempting to communicate with server ::1:1 (Could not connect to the server)", self.nodes[0].cli(f"-rpcconnect=[::1]:{node_rpc_port}", "-rpcport=1").echo)
|
||||
|
||||
assert_equal(BLOCKS, self.nodes[0].cli("-rpcconnect=127.0.0.1:18999", f'-rpcport={node_rpc_port}').getblockcount())
|
||||
if have_ipv6:
|
||||
|
||||
@@ -41,8 +41,8 @@ class TestBitcoinIpcCli(BitcoinTestFramework):
|
||||
self.log.info("Skipping a few checks because temporary directory path is too long")
|
||||
|
||||
http_auth_error = "error: Authorization failed: Incorrect rpcuser or rpcpassword were specified."
|
||||
http_connect_error = f"error: timeout on transient error: Could not connect to the server 127.0.0.1:{rpc_port(node.index)}\n\nMake sure the bitcoind server is running and that you are connecting to the correct RPC port.\nUse \"bitcoin-cli -help\" for more info.\n"
|
||||
ipc_connect_error = "error: timeout on transient error: Connection refused\n\nProbably bitcoin-node is not running or not listening on a unix socket. Can be started with:\n\n bitcoin-node -chain=regtest -ipcbind=unix\n"
|
||||
http_connect_error = f"error: Error while attempting to communicate with server 127.0.0.1:{rpc_port(node.index)} (Could not connect to the server)\n\nMake sure the bitcoind server is running and that you are connecting to the correct RPC port.\nUse \"bitcoin-cli -help\" for more info.\n"
|
||||
ipc_connect_error = "error: Connection refused\n\nProbably bitcoin-node is not running or not listening on a unix socket. Can be started with:\n\n bitcoin-node -chain=regtest -ipcbind=unix\n"
|
||||
ipc_http_conflict = "error: -rpcconnect and -ipcconnect options cannot both be enabled\n"
|
||||
|
||||
for started in (True, False):
|
||||
|
||||
Reference in New Issue
Block a user