mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 19:15: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"))
|
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 ((*it).isString())
|
||||||
|
|
||||||
if (streamName=="server")
|
|
||||||
{
|
{
|
||||||
mNetOps->subServer(ispSub, jvResult);
|
std::string streamName=(*it).asString();
|
||||||
|
|
||||||
}
|
if (streamName=="server")
|
||||||
else if (streamName=="ledger")
|
{
|
||||||
{
|
mNetOps->subServer(ispSub, jvResult);
|
||||||
mNetOps->subLedger(ispSub, jvResult);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (streamName=="transactions")
|
else if (streamName=="ledger")
|
||||||
{
|
{
|
||||||
mNetOps->subTransactions(ispSub);
|
mNetOps->subLedger(ispSub, jvResult);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (streamName=="rt_transactions")
|
else if (streamName=="transactions")
|
||||||
{
|
{
|
||||||
mNetOps->subRTTransactions(ispSub);
|
mNetOps->subTransactions(ispSub);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (streamName=="rt_transactions")
|
||||||
|
{
|
||||||
|
mNetOps->subRTTransactions(ispSub);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
jvResult["error"] = str(boost::format("Unknown stream: %s") % streamName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
jvResult["error"] = str(boost::format("Unknown stream: %s") % streamName);
|
jvResult["error"] = "malformedStream";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
jvResult["error"] = "malformedSteam";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user