Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4ee40f5
test: cover common HTTP attacks and common malformed requests
Apr 30, 2026
7dbf554
http: enclose libevent-dependent code in a namespace
pinheadmz Sep 30, 2024
a6cbbcb
http: Implement HTTPHeaders class
pinheadmz Sep 30, 2024
7e8b524
http: Implement HTTPResponse class
pinheadmz Oct 16, 2024
1cf5794
http: Implement HTTPRequest class
pinheadmz Oct 16, 2024
e739e23
http: Introduce HTTPServer class and implement binding to listening s…
pinheadmz Jun 4, 2025
55845da
HTTPServer: implement and test AcceptConnection()
pinheadmz Jun 4, 2025
ecdab4d
HTTPServer: generate sequential Ids for each newly accepted connection
pinheadmz Jun 4, 2025
f86f584
http: Introduce HTTPClient class
pinheadmz Nov 19, 2025
14f3966
HTTPServer: start an I/O loop in a new thread and accept connections
pinheadmz Jun 12, 2025
ce50352
HTTPServer: read requests from connected clients
pinheadmz Oct 31, 2024
ded8161
HTTPserver: support "chunked" Transfer-Encoding
pinheadmz Mar 12, 2025
cde50f4
HTTPServer: compose and send replies to connected clients
pinheadmz Dec 11, 2024
ed7c833
HTTPServer: disconnect clients
pinheadmz Mar 3, 2025
19314da
Allow http workers to send data optimistically as an optimization
pinheadmz Mar 1, 2025
95776e7
HTTPServer: use a queue to pipeline requests from each connected client
pinheadmz Apr 3, 2025
21102c5
define HTTP request methods at module level outside of class
pinheadmz Dec 11, 2024
9e1a83d
Add helper methods to HTTPRequest to match original API
pinheadmz Dec 12, 2024
7246056
refactor: split http_request_cb into libevent callback and dispatch
pinheadmz Dec 12, 2024
e093558
refactor: split HTTPBindAddresses into config parse and libevent setup
pinheadmz Jan 15, 2025
f4e8317
HTTPServer: implement control methods to match legacy API
pinheadmz Jan 15, 2025
c5acd11
HTTPServer: disconnect after idle timeout (-rpcservertimeout)
pinheadmz Mar 10, 2025
dcce3b4
http: switch servers from libevent to bitcoin
pinheadmz Jan 15, 2025
e327bac
fuzz: switch http_libevent::HTTPRequest to http_bitcoin::HTTPRequest
pinheadmz Mar 18, 2025
a69a2e5
http: remove libevent usage from this subsystem
pinheadmz Mar 13, 2025
91b2225
logging: remove libevent category
Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions src/httprpc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include <string>
#include <vector>

using http_bitcoin::HTTPRequest;
using util::SplitString;
using util::TrimStringView;

Expand Down Expand Up @@ -196,7 +197,7 @@ UniValue ExecuteHTTPRPC(const UniValue& valRequest, JSONRPCRequest& jreq, HTTPSt
static void HTTPReq_JSONRPC(const std::any& context, HTTPRequest* req)
{
// JSONRPC handles only POST
if (req->GetRequestMethod() != HTTPRequest::POST) {
if (req->GetRequestMethod() != HTTPRequestMethod::POST) {
req->WriteReply(HTTP_BAD_METHOD, "JSONRPC server handles only POST requests");
return;
}
Expand Down Expand Up @@ -347,8 +348,6 @@ bool StartHTTPRPC(const std::any& context)
if (g_wallet_init_interface.HasWalletSupport()) {
RegisterHTTPHandler("/wallet/", false, handle_rpc);
}
struct event_base* eventBase = EventBase();
assert(eventBase);
return true;
}

Expand Down
Loading
Loading