mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 11:05:54 +00:00
Report an error if RPC subscribe specifies no streams.
This commit is contained in:
@@ -2347,40 +2347,47 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
|
||||
|
||||
if (jvRequest.isMember("streams"))
|
||||
{
|
||||
for (Json::Value::iterator it = jvRequest["streams"].begin(); it != jvRequest["streams"].end(); it++)
|
||||
if (jvRequest["streams"].empty())
|
||||
{
|
||||
if ((*it).isString())
|
||||
jvResult["error"] = "noStreams";
|
||||
}
|
||||
else
|
||||
{
|
||||
for (Json::Value::iterator it = jvRequest["streams"].begin(); it != jvRequest["streams"].end(); it++)
|
||||
{
|
||||
std::string streamName=(*it).asString();
|
||||
|
||||
if (streamName=="server")
|
||||
if ((*it).isString())
|
||||
{
|
||||
mNetOps->subServer(ispSub, jvResult);
|
||||
std::string streamName=(*it).asString();
|
||||
|
||||
}
|
||||
else if (streamName=="ledger")
|
||||
{
|
||||
mNetOps->subLedger(ispSub, jvResult);
|
||||
if (streamName=="server")
|
||||
{
|
||||
mNetOps->subServer(ispSub, jvResult);
|
||||
|
||||
}
|
||||
else if (streamName=="transactions")
|
||||
{
|
||||
mNetOps->subTransactions(ispSub);
|
||||
}
|
||||
else if (streamName=="ledger")
|
||||
{
|
||||
mNetOps->subLedger(ispSub, jvResult);
|
||||
|
||||
}
|
||||
else if (streamName=="rt_transactions")
|
||||
{
|
||||
mNetOps->subRTTransactions(ispSub);
|
||||
}
|
||||
else if (streamName=="transactions")
|
||||
{
|
||||
mNetOps->subTransactions(ispSub);
|
||||
|
||||
}
|
||||
else if (streamName=="rt_transactions")
|
||||
{
|
||||
mNetOps->subRTTransactions(ispSub);
|
||||
}
|
||||
else
|
||||
{
|
||||
jvResult["error"] = str(boost::format("Unknown stream: %s") % streamName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
jvResult["error"] = str(boost::format("Unknown stream: %s") % streamName);
|
||||
jvResult["error"] = "malformedStream";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
jvResult["error"] = "malformedSteam";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user