Changeset View
Changeset View
Standalone View
Standalone View
src/bitcoin-cli.cpp
Show First 20 Lines • Show All 401 Lines • ▼ Show 20 Lines | #endif | ||||
std::string strRequest = rh->PrepareRequest(strMethod, args).write() + "\n"; | std::string strRequest = rh->PrepareRequest(strMethod, args).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()); | ||||
// check if we should use a special wallet endpoint | // check if we should use a special wallet endpoint | ||||
std::string endpoint = "/"; | std::string endpoint = "/"; | ||||
if (!gArgs.GetArgs("-rpcwallet").empty()) { | |||||
std::string walletName = gArgs.GetArg("-rpcwallet", ""); | std::string walletName = gArgs.GetArg("-rpcwallet", ""); | ||||
if (!walletName.empty()) { | |||||
char *encodedURI = | char *encodedURI = | ||||
evhttp_uriencode(walletName.c_str(), walletName.size(), false); | evhttp_uriencode(walletName.c_str(), walletName.size(), false); | ||||
if (encodedURI) { | if (encodedURI) { | ||||
endpoint = "/wallet/" + std::string(encodedURI); | endpoint = "/wallet/" + std::string(encodedURI); | ||||
free(encodedURI); | free(encodedURI); | ||||
} else { | } else { | ||||
throw CConnectionFailed("uri-encode failed"); | throw CConnectionFailed("uri-encode failed"); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 185 Lines • Show Last 20 Lines |