Changeset View
Changeset View
Standalone View
Standalone View
src/bitcoin-cli.cpp
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | strUsage += HelpMessageOpt( | ||||
_("Connect to JSON-RPC on <port> (default: %u or testnet: %u)"), | _("Connect to JSON-RPC on <port> (default: %u or testnet: %u)"), | ||||
BaseParams(CBaseChainParams::MAIN).RPCPort(), | BaseParams(CBaseChainParams::MAIN).RPCPort(), | ||||
BaseParams(CBaseChainParams::TESTNET).RPCPort())); | BaseParams(CBaseChainParams::TESTNET).RPCPort())); | ||||
strUsage += HelpMessageOpt("-rpcwait", _("Wait for RPC server to start")); | strUsage += HelpMessageOpt("-rpcwait", _("Wait for RPC server to start")); | ||||
strUsage += HelpMessageOpt("-rpcuser=<user>", | strUsage += HelpMessageOpt("-rpcuser=<user>", | ||||
_("Username for JSON-RPC connections")); | _("Username for JSON-RPC connections")); | ||||
strUsage += HelpMessageOpt("-rpcpassword=<pw>", | strUsage += HelpMessageOpt("-rpcpassword=<pw>", | ||||
_("Password for JSON-RPC connections")); | _("Password for JSON-RPC connections")); | ||||
strUsage += HelpMessageOpt( | strUsage += | ||||
"-rpcclienttimeout=<n>", | HelpMessageOpt("-rpcclienttimeout=<n>", | ||||
strprintf(_("Timeout during HTTP requests (default: %d)"), | strprintf(_("Timeout in seconds during HTTP requests, " | ||||
"or 0 for no timeout. (default: %d)"), | |||||
DEFAULT_HTTP_CLIENT_TIMEOUT)); | DEFAULT_HTTP_CLIENT_TIMEOUT)); | ||||
strUsage += HelpMessageOpt( | strUsage += HelpMessageOpt( | ||||
"-stdin", _("Read extra arguments from standard input, one per line " | "-stdin", _("Read extra arguments from standard input, one per line " | ||||
"until EOF/Ctrl-D (recommended for sensitive information " | "until EOF/Ctrl-D (recommended for sensitive information " | ||||
"such as passphrases)")); | "such as passphrases)")); | ||||
strUsage += HelpMessageOpt( | |||||
"-usewallet=<walletname>", | |||||
_("Send RPC for non-default wallet on RPC server (argument is wallet " | |||||
"filename in bitcoind directory, required if bitcoind/-Qt runs with " | |||||
"multiple wallets)")); | |||||
return strUsage; | return strUsage; | ||||
} | } | ||||
////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////// | ||||
// | // | ||||
// Start | // Start | ||||
// | // | ||||
▲ Show 20 Lines • Show All 185 Lines • ▼ Show 20 Lines | #endif | ||||
// Attach request data | // Attach request data | ||||
std::string strRequest = | std::string strRequest = | ||||
JSONRPCRequestObj(strMethod, params, 1).write() + "\n"; | JSONRPCRequestObj(strMethod, params, 1).write() + "\n"; | ||||
struct evbuffer *output_buffer = | struct evbuffer *output_buffer = | ||||
evhttp_request_get_output_buffer(req.get()); | evhttp_request_get_output_buffer(req.get()); | ||||
assert(output_buffer); | assert(output_buffer); | ||||
evbuffer_add(output_buffer, strRequest.data(), strRequest.size()); | evbuffer_add(output_buffer, strRequest.data(), strRequest.size()); | ||||
int r = evhttp_make_request(evcon.get(), req.get(), EVHTTP_REQ_POST, "/"); | // check if we should use a special wallet endpoint | ||||
std::string endpoint = "/"; | |||||
std::string walletName = GetArg("-usewallet", ""); | |||||
if (!walletName.empty()) { | |||||
char *encodedURI = | |||||
evhttp_uriencode(walletName.c_str(), walletName.size(), false); | |||||
if (encodedURI) { | |||||
endpoint = "/wallet/" + std::string(encodedURI); | |||||
free(encodedURI); | |||||
} else { | |||||
throw CConnectionFailed("uri-encode failed"); | |||||
} | |||||
} | |||||
int r = evhttp_make_request(evcon.get(), req.get(), EVHTTP_REQ_POST, | |||||
endpoint.c_str()); | |||||
// ownership moved to evcon in above call | // ownership moved to evcon in above call | ||||
req.release(); | req.release(); | ||||
if (r != 0) { | if (r != 0) { | ||||
throw CConnectionFailed("send http request failed"); | throw CConnectionFailed("send http request failed"); | ||||
} | } | ||||
event_base_dispatch(base.get()); | event_base_dispatch(base.get()); | ||||
▲ Show 20 Lines • Show All 159 Lines • Show Last 20 Lines |