mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 01:07:57 +00:00
More strict and better diagnostics for RPC subscribe.
This commit is contained in:
@@ -2499,6 +2499,8 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
|
|||||||
if (!mInfoSub && !jvRequest.isMember("url"))
|
if (!mInfoSub && !jvRequest.isMember("url"))
|
||||||
{
|
{
|
||||||
// Must be a JSON-RPC call.
|
// Must be a JSON-RPC call.
|
||||||
|
cLog(lsINFO) << boost::str(boost::format("doSubscribe: RPC subscribe requires a url"));
|
||||||
|
|
||||||
return rpcError(rpcINVALID_PARAMS);
|
return rpcError(rpcINVALID_PARAMS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2535,7 +2537,17 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
|
|||||||
ispSub = mInfoSub;
|
ispSub = mInfoSub;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jvRequest.isMember("streams"))
|
if (!jvRequest.isMember("streams"))
|
||||||
|
{
|
||||||
|
nothing();
|
||||||
|
}
|
||||||
|
else if (!jvRequest["streams"].isArray())
|
||||||
|
{
|
||||||
|
cLog(lsINFO) << boost::str(boost::format("doSubscribe: streams requires an array."));
|
||||||
|
|
||||||
|
return rpcError(rpcINVALID_PARAMS);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
for (Json::Value::iterator it = jvRequest["streams"].begin(); it != jvRequest["streams"].end(); it++)
|
for (Json::Value::iterator it = jvRequest["streams"].begin(); it != jvRequest["streams"].end(); it++)
|
||||||
{
|
{
|
||||||
@@ -2550,12 +2562,10 @@ Json::Value RPCHandler::doSubscribe(Json::Value jvRequest)
|
|||||||
else if (streamName=="ledger")
|
else if (streamName=="ledger")
|
||||||
{
|
{
|
||||||
mNetOps->subLedger(ispSub, jvResult);
|
mNetOps->subLedger(ispSub, jvResult);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (streamName=="transactions")
|
else if (streamName=="transactions")
|
||||||
{
|
{
|
||||||
mNetOps->subTransactions(ispSub);
|
mNetOps->subTransactions(ispSub);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (streamName=="rt_transactions")
|
else if (streamName=="rt_transactions")
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user