aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/protocol.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2016-09-29 16:45:19 +0200
committerAndrew Chow <achow101-github@achow101.com>2017-09-27 21:53:07 -0400
commit382625318d8734fd71a6c9620d3e88b5617da0c5 (patch)
tree69bc966e75c296275fcdd62062712a1fd82c13f1 /src/rpc/protocol.h
parentea729d55b4dbd17a53ced474a8457d4759cfb5a5 (diff)
downloadbitcoin-382625318d8734fd71a6c9620d3e88b5617da0c5.tar.xz
rpc: Handle `getinfo` locally in bitcoin-cli w/ `-getinfo`
This adds the infrastructure `BaseRequestHandler` class that takes care of converting bitcoin-cli arguments into a JSON-RPC request object, and converting the reply into a JSON object that can be shown as result. This is subsequently used to handle the `-getinfo` option, which sends a JSON-RPC batch request to the RPC server with `["getnetworkinfo", "getblockchaininfo", "getwalletinfo"]`, and after reply combines the result into what looks like a `getinfo` result. There have been some requests for a client-side `getinfo` and this is my PoC of how to do it. If this is considered a good idea some of the logic could be moved up to rpcclient.cpp and used in the GUI console as well. Extra-Author: Andrew Chow <achow101@gmail.com>
Diffstat (limited to 'src/rpc/protocol.h')
-rw-r--r--src/rpc/protocol.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rpc/protocol.h b/src/rpc/protocol.h
index 5c9c64f67d..bba7438c95 100644
--- a/src/rpc/protocol.h
+++ b/src/rpc/protocol.h
@@ -97,5 +97,7 @@ bool GenerateAuthCookie(std::string *cookie_out);
bool GetAuthCookie(std::string *cookie_out);
/** Delete RPC authentication cookie from disk */
void DeleteAuthCookie();
+/** Parse JSON-RPC batch reply into a vector */
+std::vector<UniValue> JSONRPCProcessBatchReply(const UniValue &in, size_t num);
#endif // BITCOIN_RPCPROTOCOL_H