mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-22 12:05:53 +00:00
Instantiate an RPCHandler per request.
RPCHandlers are pretty light objects and this allows us to pass in parameters like the InfoSub object without locking or adding more parameters to the RPC methods.
This commit is contained in:
@@ -26,7 +26,7 @@ SETUP_LOG();
|
||||
#endif
|
||||
|
||||
RPCServer::RPCServer(boost::asio::io_service& io_service , NetworkOPs* nopNetwork)
|
||||
: mNetOps(nopNetwork), mRPCHandler(nopNetwork), mSocket(io_service)
|
||||
: mNetOps(nopNetwork), mSocket(io_service)
|
||||
{
|
||||
|
||||
mRole = RPCHandler::GUEST;
|
||||
@@ -142,6 +142,8 @@ std::string RPCServer::handleRequest(const std::string& requestStr)
|
||||
else if (!valParams.isArray())
|
||||
return(HTTPReply(400, "params unparseable"));
|
||||
|
||||
RPCHandler mRPCHandler(mNetOps);
|
||||
|
||||
cLog(lsTRACE) << valParams;
|
||||
Json::Value result = mRPCHandler.doCommand(strMethod, valParams,mRole);
|
||||
cLog(lsTRACE) << result;
|
||||
|
||||
Reference in New Issue
Block a user