Skip to content

Commit

Permalink
RPC: Pass on JSONRPCRequest metadata (URI/user/etc) for "help" method
Browse files Browse the repository at this point in the history
  • Loading branch information
luke-jr committed Feb 27, 2017
1 parent bf8a04a commit ad15734
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
11 changes: 7 additions & 4 deletions src/rpc/server.cpp
Expand Up @@ -178,7 +178,7 @@ vector<unsigned char> ParseHexO(const UniValue& o, string strKey)
* Note: This interface may still be subject to change.
*/

std::string CRPCTable::help(const std::string& strCommand) const
std::string CRPCTable::help(const std::string& strCommand, const JSONRPCRequest& helpreq) const
{
string strRet;
string category;
Expand All @@ -189,6 +189,10 @@ std::string CRPCTable::help(const std::string& strCommand) const
vCommands.push_back(make_pair(mi->second->category + mi->first, mi->second));
sort(vCommands.begin(), vCommands.end());

JSONRPCRequest jreq(helpreq);
jreq.fHelp = true;
jreq.params = UniValue();

BOOST_FOREACH(const PAIRTYPE(string, const CRPCCommand*)& command, vCommands)
{
const CRPCCommand *pcmd = command.second;
Expand All @@ -198,10 +202,9 @@ std::string CRPCTable::help(const std::string& strCommand) const
continue;
if ((strCommand != "" || pcmd->category == "hidden") && strMethod != strCommand)
continue;
jreq.strMethod = strMethod;
try
{
JSONRPCRequest jreq;
jreq.fHelp = true;
rpcfn_type pfn = pcmd->actor;
if (setDone.insert(pfn).second)
(*pfn)(jreq);
Expand Down Expand Up @@ -250,7 +253,7 @@ UniValue help(const JSONRPCRequest& jsonRequest)
if (jsonRequest.params.size() > 0)
strCommand = jsonRequest.params[0].get_str();

return tableRPC.help(strCommand);
return tableRPC.help(strCommand, jsonRequest);
}


Expand Down
2 changes: 1 addition & 1 deletion src/rpc/server.h
Expand Up @@ -154,7 +154,7 @@ class CRPCTable
public:
CRPCTable();
const CRPCCommand* operator[](const std::string& name) const;
std::string help(const std::string& name) const;
std::string help(const std::string& name, const JSONRPCRequest& helpreq) const;

/**
* Execute a method.
Expand Down

0 comments on commit ad15734

Please sign in to comment.