Commit Graph

154 Commits

Author SHA1 Message Date
Jude Nelson
3056aa3c37 refactor: put get-is-trait-implemented RPC handler into its own file 2023-10-02 16:11:57 -04:00
Jude Nelson
568de364c4 refactor: put get-node-info RPC handler into its own file 2023-10-02 16:11:32 -04:00
Jude Nelson
d0229d9474 refactor: put get-headers RPC endpoint into its own file 2023-10-02 16:11:04 -04:00
Jude Nelson
92f47fde94 refactor: put get-data-var RPC handler into its own file 2023-10-02 16:10:46 -04:00
Jude Nelson
e9b07c4f11 chore: put get-contract-source RPC handler into its own file 2023-10-02 16:10:26 -04:00
Jude Nelson
3d1cbbc667 refactor: put get-contract-abi RPC handler into its own file 2023-10-02 16:10:01 -04:00
Jude Nelson
765960a9fd refactor: put get-constant-value RPC handler into its own file 2023-10-02 16:09:40 -04:00
Jude Nelson
0c302fe599 refactor: put get-block RPC handler into its own file 2023-10-02 16:09:17 -04:00
Jude Nelson
5c0c7cc1ea refactor: put get-attachments-inventory RPC handler into its own file 2023-10-02 16:08:55 -04:00
Jude Nelson
2da1bc9f7b refactor: put get-attachment RPC handler into its own file 2023-10-02 16:08:30 -04:00
Jude Nelson
7acdfb849b refactor: put get-account RPC handler into its own file 2023-10-02 16:08:02 -04:00
Jude Nelson
254b5a1bff refactor: put call-read-only RPC endpoint into its own file 2023-10-02 16:07:41 -04:00
Jude Nelson
c6d4823367 refactor: consolidate all testing for application-level concerns for Stacks HTTP support in one place 2023-10-02 16:06:54 -04:00
Jude Nelson
c200a9c734 refactor: bind net::http with Stacks node state to create the StacksHttp state machine, along with its associated StacksHttpRequest and StacksHttpResponse wrappers. This new system includes a plug-and-play RPC request handler, whereby one only needs to implement an RPC handler trait to add support for a new request route. 2023-10-02 16:05:29 -04:00
Jude Nelson
5850525ae1 refactor: introducing the net::http crate, which contains all HTTP transport logic and unit tests 2023-10-02 16:05:05 -04:00
Jude Nelson
a21eb1191b refactor: capture all HTTP transport tests in one place 2023-10-02 16:04:46 -04:00
Jude Nelson
da3c1cd05f refactor: capture all HTTP streaming data in one place, for sending chunked transfer-encoded data 2023-10-02 16:04:13 -04:00
Jude Nelson
adfafeef1d refactor: capture all common transport logic for HTTP headers and body responses in one place 2023-10-02 16:03:51 -04:00
Jude Nelson
4bc02a80fe refactor: common HTTP request preamble and response types, which capture all control- and data-plane data in an HTTP request. Also, add HttpRequest trait for different request implementations 2023-10-02 16:03:11 -04:00
Jude Nelson
e65a3b2559 refactor: HTTP response types for all HTTP error types 2023-10-02 16:02:55 -04:00
Jude Nelson
37c3ad2eff refactor: capture all common HTTP request and response transport logic into one file 2023-10-02 16:02:36 -04:00
Jude Nelson
ef94177f72 refactor: bye-bye StreamCursor and all of its associated types! 2023-10-02 16:02:06 -04:00
Jude Nelson
5f255dd8ee refactor: no more stream tests (dead code) 2023-10-02 16:01:50 -04:00
Jude Nelson
57d2f44060 chore: API sync 2023-10-02 16:01:41 -04:00
Jude Nelson
6f368a16d0 chore: API sync 2023-10-02 16:01:28 -04:00
Jude Nelson
02d4dd3e7a refactor: use StacksHttpRequest and StacksHttpResponse types for HTTP comms 2023-10-02 16:01:01 -04:00
Jude Nelson
17f93f274b refactor: put all RPC handlers into separate files, and let this file serve to implement the ConversationHttp wrapper to manage the host-to-host HTTP connection lifecycle 2023-10-02 16:00:21 -04:00
Jude Nelson
88f69981ae chore: update all tests to use StacksHttpRequest and StacksHttpResponse code, as well as the new net::http create 2023-10-02 15:59:52 -04:00
Jude Nelson
e580819619 feat: use getsockname(2) on a bound port to get the kernel-reported address for a bound server, so the caller will learn the true address and port (which may be kernel-supplied). Also, update all unit tests to make use of this feature. 2023-10-02 15:59:00 -04:00
Jude Nelson
23012fd560 refactor: use new StacksHttpRequest and StacksHttpResponse types for mempool sync 2023-10-02 15:57:56 -04:00
Jude Nelson
415d9f4a32 chore: fix compiler warnings with to_owned() 2023-10-02 15:57:35 -04:00
Jude Nelson
e3fc7daf15 chore: API sync 2023-10-02 15:57:22 -04:00
Jude Nelson
bf3348b34b refactor: add StacksNodeState to capture DB handles to various parts of the Stacks node, which can be fed into RPC handlers in a future-proof way. Also, fix the TestPeer system so a port of 0 will be accepted, and will use a kernel-supplied port (instead of forcing the test author to guess a free port) 2023-10-02 15:56:30 -04:00
Jude Nelson
cfda6a94f7 chore: API sync 2023-10-02 15:56:03 -04:00
Jude Nelson
4e41c2311e refactor: bye-byte http.rs! 2023-10-02 15:55:47 -04:00
Jude Nelson
0273bbdd79 refactor: use new StacksHttpRequest and StacksHttpResponse types for block downloader 2023-10-02 15:55:25 -04:00
Jude Nelson
1bcc75db5e chore: API sync 2023-10-02 15:55:09 -04:00
Jude Nelson
8bf6c586f0 refactor: expose getter for peer stackerdbs 2023-10-02 15:54:46 -04:00
Jude Nelson
760eb25f24 feat: add the ability to flush data to a reply handle's pipe's read endpoint, without destroying the write endpoint. This lets the caller send data to the read endpoint as it's being generated, so the read endpoint can consume it concurrently. 2023-10-02 15:53:43 -04:00
Jude Nelson
4efec5d5ae refactor: MemPoolSyncData codec lives in the mempool modules 2023-10-02 15:53:24 -04:00
Jude Nelson
e663ebd94b chore: clean up compiler warnings 2023-10-02 15:53:14 -04:00
Jude Nelson
046d386432 refactor: use new StacksHttpRequest and StacksHttpResposne types 2023-10-02 15:52:59 -04:00
Jude Nelson
898aeba937 refactor: put Atlas HTTP response types into the Atlas system 2023-10-02 15:52:35 -04:00
Jude Nelson
07cf31430a refactor: use new StacksHttpRequest HTTP request constructors 2023-10-02 15:52:08 -04:00
Jude Nelson
49b4594191 chore: cargo fmt 2023-10-02 15:51:45 -04:00
Jude Nelson
6ac7ae4e38 chore: remove dead import 2023-10-02 15:51:25 -04:00
Jude Nelson
0a97fac687 chore: API sync 2023-10-02 15:51:16 -04:00
Jude Nelson
cd716fe1df chore: API sync 2023-10-02 15:51:05 -04:00
Jude Nelson
fcd364e0ef refactor: remove dead unit tests 2023-10-02 15:50:54 -04:00
Jude Nelson
6c98cd6056 refactor: put MemPoolSyncData into the mempool module, and remove transaction streaming code 2023-10-02 15:50:30 -04:00