mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-13 07:28:59 +01:00
Add strict flag to RPCTypeCheckObj
Strict flag forces type check on all object keys.
This commit is contained in:
committed by
Wladimir J. van der Laan
parent
a4ca44d276
commit
41e835dd50
@@ -89,7 +89,8 @@ void RPCTypeCheck(const UniValue& params,
|
||||
|
||||
void RPCTypeCheckObj(const UniValue& o,
|
||||
const map<string, UniValue::VType>& typesExpected,
|
||||
bool fAllowNull)
|
||||
bool fAllowNull,
|
||||
bool fStrict)
|
||||
{
|
||||
BOOST_FOREACH(const PAIRTYPE(string, UniValue::VType)& t, typesExpected)
|
||||
{
|
||||
@@ -104,6 +105,18 @@ void RPCTypeCheckObj(const UniValue& o,
|
||||
throw JSONRPCError(RPC_TYPE_ERROR, err);
|
||||
}
|
||||
}
|
||||
|
||||
if (fStrict)
|
||||
{
|
||||
BOOST_FOREACH(const string& k, o.getKeys())
|
||||
{
|
||||
if (typesExpected.count(k) == 0)
|
||||
{
|
||||
string err = strprintf("Unexpected key %s", k);
|
||||
throw JSONRPCError(RPC_TYPE_ERROR, err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CAmount AmountFromValue(const UniValue& value)
|
||||
|
||||
Reference in New Issue
Block a user