aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/server.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2017-05-15 17:10:56 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2017-05-15 17:20:16 +0200
commit96c850c20913b191cff9f66fedbb68812b1a41ea (patch)
treeac52b467eb38cb83b39b388ba5dee20d1c09a80c /src/rpc/server.cpp
parent41987aa92f0d6c0bee4d4b4889355fbd1dedeede (diff)
parente3c9f2ddb1e49f719cc1f3f7cc2a98626bee4364 (diff)
Merge #8704: [RPC] Transaction details in getblock
e3c9f2d Use a verbosity instead of two verbose parameters (Andrew Chow) c99ab3c RPC: Allow multiple names for parameters (Luke Dashjr) Tree-SHA512: 686b38f6b0106563738d51f55666fe6d49a5b121b30d4480c2bfb640a59ede8e6f7f3c05c3c5d80a5288e127991e191d19d1d4f9ace566fd39edeb27b31857ff
Diffstat (limited to 'src/rpc/server.cpp')
-rw-r--r--src/rpc/server.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp
index 5c493428d8..ea93e8cc74 100644
--- a/src/rpc/server.cpp
+++ b/src/rpc/server.cpp
@@ -22,6 +22,8 @@
#include <boost/signals2/signal.hpp>
#include <boost/thread.hpp>
#include <boost/algorithm/string/case_conv.hpp> // for to_upper()
+#include <boost/algorithm/string/classification.hpp>
+#include <boost/algorithm/string/split.hpp>
#include <memory> // for unique_ptr
#include <unordered_map>
@@ -432,8 +434,16 @@ static inline JSONRPCRequest transformNamedArguments(const JSONRPCRequest& in, c
}
// Process expected parameters.
int hole = 0;
- for (const std::string &argName: argNames) {
- auto fr = argsIn.find(argName);
+ for (const std::string &argNamePattern: argNames) {
+ std::vector<std::string> vargNames;
+ boost::algorithm::split(vargNames, argNamePattern, boost::algorithm::is_any_of("|"));
+ auto fr = argsIn.end();
+ for (const std::string & argName : vargNames) {
+ fr = argsIn.find(argName);
+ if (fr != argsIn.end()) {
+ break;
+ }
+ }
if (fr != argsIn.end()) {
for (int i = 0; i < hole; ++i) {
// Fill hole between specified parameters with JSON nulls,