mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-26 22:15:52 +00:00
deploy: 056255e396
This commit is contained in:
@@ -1543,308 +1543,283 @@ $(function() {
|
||||
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  </div>
|
||||
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> <span class="comment">// Used internally by rpcClient.</span></div>
|
||||
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <span class="keyword">static</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="line"><a name="l01476"></a><span class="lineno"><a class="line" href="namespaceripple.html#ab72afa7b2b33324b108c550dbc0a3c1f"> 1476</a></span> <a class="code" href="namespaceripple.html#ab72afa7b2b33324b108c550dbc0a3c1f">rpcCmdLineToJson</a>(</div>
|
||||
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="line"><a name="l01476"></a><span class="lineno"><a class="line" href="namespaceripple.html#ab4682f4bd2ebab9ae978712b0e2ea894"> 1476</a></span> <a class="code" href="namespaceripple.html#ab4682f4bd2ebab9ae978712b0e2ea894">rpcCmdToJson</a>(</div>
|
||||
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a> <span class="keyword">const</span>& args,</div>
|
||||
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a>& retParams,</div>
|
||||
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> {</div>
|
||||
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRequest(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>  </div>
|
||||
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>  <a class="code" href="classripple_1_1RPCParser.html">RPCParser</a> rpParser(j);</div>
|
||||
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRpcParams(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a>);</div>
|
||||
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>  </div>
|
||||
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i != args.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++)</div>
|
||||
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>  jvRpcParams.<a class="code" href="classJson_1_1Value.html#a7e49ac977e4bcf59745a09d426669f75">append</a>(args[i]);</div>
|
||||
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>  </div>
|
||||
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>  retParams = <a class="code" href="classJson_1_1Value.html">Json::Value</a>(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  </div>
|
||||
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>  retParams[jss::method] = args[0];</div>
|
||||
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>  retParams[jss::params] = jvRpcParams;</div>
|
||||
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  </div>
|
||||
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>  jvRequest = rpParser.<a class="code" href="classripple_1_1RPCParser.html#a1da7a782a9240c1b9fcce94bf6056b27">parseCommand</a>(args[0], jvRpcParams, <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>  </div>
|
||||
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  <span class="keyword">auto</span> insert_api_version = [](<a class="code" href="classJson_1_1Value.html">Json::Value</a>& jr) {</div>
|
||||
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>  <span class="keywordflow">if</span> (jr.isObject() && !jr.isMember(jss::error) &&</div>
|
||||
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  !jr.isMember(jss::api_version))</div>
|
||||
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  {</div>
|
||||
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  jr[jss::api_version] = <a class="code" href="namespaceripple_1_1RPC.html#a8c4c4528421d724a8a82db708b1a761b">RPC::apiMaximumSupportedVersion</a>;</div>
|
||||
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  }</div>
|
||||
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  };</div>
|
||||
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  </div>
|
||||
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">isObject</a>())</div>
|
||||
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  insert_api_version(jvRequest);</div>
|
||||
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">isArray</a>())</div>
|
||||
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/algorithm/for_each.html">std::for_each</a>(jvRequest.<a class="code" href="classJson_1_1Value.html#a4544f7b3f4163ebe5da9273258936fe5">begin</a>(), jvRequest.<a class="code" href="classJson_1_1Value.html#af10a897ca5a73c578df78b434204139b">end</a>(), insert_api_version);</div>
|
||||
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  </div>
|
||||
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>  JLOG(j.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"RPC Request: "</span> << jvRequest << <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  <span class="keywordflow">return</span> jvRequest;</div>
|
||||
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> }</div>
|
||||
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>  </div>
|
||||
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="line"><a name="l01514"></a><span class="lineno"><a class="line" href="namespaceripple.html#aa9714d222b28553ab9f4e9baf34be4ff"> 1514</a></span> <a class="code" href="namespaceripple.html#aa9714d222b28553ab9f4e9baf34be4ff">cmdLineToJSONRPC</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a> <span class="keyword">const</span>& args, <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> {</div>
|
||||
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jv = <a class="code" href="classJson_1_1Value.html">Json::Value</a>(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  <span class="keyword">auto</span> <span class="keyword">const</span> paramsObj = <a class="code" href="namespaceripple.html#ab72afa7b2b33324b108c550dbc0a3c1f">rpcCmdLineToJson</a>(args, jv, j);</div>
|
||||
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>  </div>
|
||||
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>  <span class="comment">// Re-use jv to return our formatted result.</span></div>
|
||||
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>  jv.<a class="code" href="classJson_1_1Value.html#a501a4d67e6c875255c2ecc03ccd2019b">clear</a>();</div>
|
||||
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>  </div>
|
||||
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>  <span class="comment">// Allow parser to rewrite method.</span></div>
|
||||
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>  jv[jss::method] = paramsObj.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::method)</div>
|
||||
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  ? paramsObj[jss::method].asString()</div>
|
||||
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>  : args[0];</div>
|
||||
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>  </div>
|
||||
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>  <span class="comment">// If paramsObj is not empty, put it in a [params] array.</span></div>
|
||||
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  <span class="keywordflow">if</span> (paramsObj.begin() != paramsObj.end())</div>
|
||||
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>  {</div>
|
||||
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>  <span class="keyword">auto</span>& paramsArray = <a class="code" href="namespaceJson.html#a844d3d2c97ae1bafd1faa5a1f408514b">Json::setArray</a>(jv, jss::params);</div>
|
||||
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  paramsArray.append(paramsObj);</div>
|
||||
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>  }</div>
|
||||
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  <span class="keywordflow">if</span> (paramsObj.isMember(jss::jsonrpc))</div>
|
||||
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  jv[jss::jsonrpc] = paramsObj[jss::jsonrpc];</div>
|
||||
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  <span class="keywordflow">if</span> (paramsObj.isMember(jss::ripplerpc))</div>
|
||||
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  jv[jss::ripplerpc] = paramsObj[jss::ripplerpc];</div>
|
||||
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  <span class="keywordflow">if</span> (paramsObj.isMember(jss::id))</div>
|
||||
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  jv[jss::id] = paramsObj[jss::id];</div>
|
||||
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  <span class="keywordflow">return</span> jv;</div>
|
||||
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span> }</div>
|
||||
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  </div>
|
||||
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  </div>
|
||||
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<int, Json::Value></a></div>
|
||||
<div class="line"><a name="l01545"></a><span class="lineno"><a class="line" href="namespaceripple.html#a425645d42dd2466ffc69e73fc6861b3d"> 1545</a></span> <a class="code" href="namespaceripple.html#a425645d42dd2466ffc69e73fc6861b3d">rpcClient</a>(</div>
|
||||
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a> <span class="keyword">const</span>& args,</div>
|
||||
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>  <a class="code" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config,</div>
|
||||
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <a class="code" href="classripple_1_1Logs.html">Logs</a>& logs,</div>
|
||||
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map<std::string, std::string></a> <span class="keyword">const</span>& headers)</div>
|
||||
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> {</div>
|
||||
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  static_assert(</div>
|
||||
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a> == 1 && <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a> == 0,</div>
|
||||
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  <span class="stringliteral">"Expect specific rpc enum values."</span>);</div>
|
||||
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  <span class="keywordflow">if</span> (args.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  <span class="keywordflow">return</span> {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a>, {}}; <span class="comment">// rpcBAD_SYNTAX = print usage</span></div>
|
||||
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>  </div>
|
||||
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  <span class="keywordtype">int</span> nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a>;</div>
|
||||
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvOutput;</div>
|
||||
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRequest(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>  </div>
|
||||
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>  <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>  {</div>
|
||||
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRpc = <a class="code" href="classJson_1_1Value.html">Json::Value</a>(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>  jvRequest = <a class="code" href="namespaceripple.html#ab72afa7b2b33324b108c550dbc0a3c1f">rpcCmdLineToJson</a>(args, jvRpc, logs.<a class="code" href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">journal</a>(<span class="stringliteral">"RPCParser"</span>));</div>
|
||||
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> apiVersion,</div>
|
||||
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> {</div>
|
||||
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRequest(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>  </div>
|
||||
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>  <a class="code" href="classripple_1_1RPCParser.html">RPCParser</a> rpParser(j);</div>
|
||||
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRpcParams(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a>);</div>
|
||||
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  </div>
|
||||
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i != args.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++)</div>
|
||||
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>  jvRpcParams.<a class="code" href="classJson_1_1Value.html#a7e49ac977e4bcf59745a09d426669f75">append</a>(args[i]);</div>
|
||||
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>  </div>
|
||||
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  retParams = <a class="code" href="classJson_1_1Value.html">Json::Value</a>(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>  </div>
|
||||
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>  retParams[jss::method] = args[0];</div>
|
||||
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  retParams[jss::params] = jvRpcParams;</div>
|
||||
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>  </div>
|
||||
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>  jvRequest = rpParser.<a class="code" href="classripple_1_1RPCParser.html#a1da7a782a9240c1b9fcce94bf6056b27">parseCommand</a>(args[0], jvRpcParams, <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  </div>
|
||||
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>  <span class="keyword">auto</span> insert_api_version = [apiVersion](<a class="code" href="classJson_1_1Value.html">Json::Value</a>& jr) {</div>
|
||||
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  <span class="keywordflow">if</span> (jr.isObject() && !jr.isMember(jss::error) &&</div>
|
||||
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  !jr.isMember(jss::api_version))</div>
|
||||
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  {</div>
|
||||
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  jr[jss::api_version] = apiVersion;</div>
|
||||
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  }</div>
|
||||
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  };</div>
|
||||
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  </div>
|
||||
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">isObject</a>())</div>
|
||||
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  insert_api_version(jvRequest);</div>
|
||||
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">isArray</a>())</div>
|
||||
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/algorithm/for_each.html">std::for_each</a>(jvRequest.<a class="code" href="classJson_1_1Value.html#a4544f7b3f4163ebe5da9273258936fe5">begin</a>(), jvRequest.<a class="code" href="classJson_1_1Value.html#af10a897ca5a73c578df78b434204139b">end</a>(), insert_api_version);</div>
|
||||
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>  </div>
|
||||
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  JLOG(j.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"RPC Request: "</span> << jvRequest << <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  <span class="keywordflow">return</span> jvRequest;</div>
|
||||
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> }</div>
|
||||
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>  </div>
|
||||
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>  </div>
|
||||
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<int, Json::Value></a></div>
|
||||
<div class="line"><a name="l01517"></a><span class="lineno"><a class="line" href="namespaceripple.html#a1675cc24642888c8fd2c1b39923086b0"> 1517</a></span> <a class="code" href="namespaceripple.html#a1675cc24642888c8fd2c1b39923086b0">rpcClient</a>(</div>
|
||||
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a> <span class="keyword">const</span>& args,</div>
|
||||
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>  <a class="code" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config,</div>
|
||||
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>  <a class="code" href="classripple_1_1Logs.html">Logs</a>& logs,</div>
|
||||
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> apiVersion,</div>
|
||||
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map<std::string, std::string></a> <span class="keyword">const</span>& headers)</div>
|
||||
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> {</div>
|
||||
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  static_assert(</div>
|
||||
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>  <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a> == 1 && <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a> == 0,</div>
|
||||
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>  <span class="stringliteral">"Expect specific rpc enum values."</span>);</div>
|
||||
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>  <span class="keywordflow">if</span> (args.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  <span class="keywordflow">return</span> {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a>, {}}; <span class="comment">// rpcBAD_SYNTAX = print usage</span></div>
|
||||
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>  </div>
|
||||
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>  <span class="keywordtype">int</span> nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a>;</div>
|
||||
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvOutput;</div>
|
||||
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRequest(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  </div>
|
||||
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  {</div>
|
||||
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRpc = <a class="code" href="classJson_1_1Value.html">Json::Value</a>(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
||||
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  jvRequest =</div>
|
||||
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  <a class="code" href="namespaceripple.html#ab4682f4bd2ebab9ae978712b0e2ea894">rpcCmdToJson</a>(args, jvRpc, apiVersion, logs.<a class="code" href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">journal</a>(<span class="stringliteral">"RPCParser"</span>));</div>
|
||||
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  </div>
|
||||
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
|
||||
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  {</div>
|
||||
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>  jvOutput = jvRequest;</div>
|
||||
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  jvOutput[<span class="stringliteral">"rpc"</span>] = jvRpc;</div>
|
||||
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>  }</div>
|
||||
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  {</div>
|
||||
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>  <a class="code" href="structripple_1_1ServerHandler_1_1Setup.html">ServerHandler::Setup</a> setup;</div>
|
||||
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  {</div>
|
||||
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  setup = <a class="code" href="namespaceripple.html#a9717a8236d67d262b4e5273712ac545c">setup_ServerHandler</a>(</div>
|
||||
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  config,</div>
|
||||
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  <a class="code" href="classbeast_1_1basic__logstream.html">beast::logstream</a>{logs.<a class="code" href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">journal</a>(<span class="stringliteral">"HTTPClient"</span>).warn()});</div>
|
||||
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  }</div>
|
||||
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>&)</div>
|
||||
<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  {</div>
|
||||
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>  <span class="comment">// ignore any exceptions, so the command</span></div>
|
||||
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  <span class="comment">// line client works without a config file</span></div>
|
||||
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>  }</div>
|
||||
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  </div>
|
||||
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>  <span class="keywordflow">if</span> (config.<a class="code" href="classripple_1_1Config.html#a568c380fe9c0a28afc8b09ab9174c864">rpc_ip</a>)</div>
|
||||
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>  {</div>
|
||||
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a59365bd43f0ddb6709e0ff7b012663c0">ip</a> = config.<a class="code" href="classripple_1_1Config.html#a568c380fe9c0a28afc8b09ab9174c864">rpc_ip</a>->address().to_string();</div>
|
||||
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#af6d7f3e234d1d2df9d31b1aecd52d12f">port</a> = config.<a class="code" href="classripple_1_1Config.html#a568c380fe9c0a28afc8b09ab9174c864">rpc_ip</a>->port();</div>
|
||||
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>  }</div>
|
||||
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>  </div>
|
||||
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
|
||||
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  {</div>
|
||||
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  jvOutput = jvRequest;</div>
|
||||
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  jvOutput[<span class="stringliteral">"rpc"</span>] = jvRpc;</div>
|
||||
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>  }</div>
|
||||
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>  {</div>
|
||||
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>  <a class="code" href="structripple_1_1ServerHandler_1_1Setup.html">ServerHandler::Setup</a> setup;</div>
|
||||
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  {</div>
|
||||
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  setup = <a class="code" href="namespaceripple.html#a9717a8236d67d262b4e5273712ac545c">setup_ServerHandler</a>(</div>
|
||||
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  config,</div>
|
||||
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>  <a class="code" href="classbeast_1_1basic__logstream.html">beast::logstream</a>{logs.<a class="code" href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">journal</a>(<span class="stringliteral">"HTTPClient"</span>).warn()});</div>
|
||||
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  }</div>
|
||||
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>&)</div>
|
||||
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>  {</div>
|
||||
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  <span class="comment">// ignore any exceptions, so the command</span></div>
|
||||
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>  <span class="comment">// line client works without a config file</span></div>
|
||||
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  }</div>
|
||||
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>  </div>
|
||||
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>  <span class="keywordflow">if</span> (config.<a class="code" href="classripple_1_1Config.html#a568c380fe9c0a28afc8b09ab9174c864">rpc_ip</a>)</div>
|
||||
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  {</div>
|
||||
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a59365bd43f0ddb6709e0ff7b012663c0">ip</a> = config.<a class="code" href="classripple_1_1Config.html#a568c380fe9c0a28afc8b09ab9174c864">rpc_ip</a>->address().to_string();</div>
|
||||
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#af6d7f3e234d1d2df9d31b1aecd52d12f">port</a> = config.<a class="code" href="classripple_1_1Config.html#a568c380fe9c0a28afc8b09ab9174c864">rpc_ip</a>->port();</div>
|
||||
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>  }</div>
|
||||
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  </div>
|
||||
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvParams(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a>);</div>
|
||||
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  </div>
|
||||
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  <span class="keywordflow">if</span> (!setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#ac44e88f3164aa3f6daf8fb49f8de58c4">admin_user</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  jvRequest[<span class="stringliteral">"admin_user"</span>] = setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#ac44e88f3164aa3f6daf8fb49f8de58c4">admin_user</a>;</div>
|
||||
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  </div>
|
||||
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  <span class="keywordflow">if</span> (!setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a1b9de6527027791791ed29b0568e0649">admin_password</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  jvRequest[<span class="stringliteral">"admin_password"</span>] = setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a1b9de6527027791791ed29b0568e0649">admin_password</a>;</div>
|
||||
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>  </div>
|
||||
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">isObject</a>())</div>
|
||||
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  jvParams.<a class="code" href="classJson_1_1Value.html#a7e49ac977e4bcf59745a09d426669f75">append</a>(jvRequest);</div>
|
||||
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">isArray</a>())</div>
|
||||
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>  {</div>
|
||||
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceJson.html#ab1488c31a37eea2d37f36a0961372572">Json::UInt</a> i = 0; i < jvRequest.<a class="code" href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">size</a>(); ++i)</div>
|
||||
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>  jvParams.<a class="code" href="classJson_1_1Value.html#a7e49ac977e4bcf59745a09d426669f75">append</a>(jvRequest[i]);</div>
|
||||
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvParams(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a>);</div>
|
||||
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  </div>
|
||||
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  <span class="keywordflow">if</span> (!setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#ac44e88f3164aa3f6daf8fb49f8de58c4">admin_user</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  jvRequest[<span class="stringliteral">"admin_user"</span>] = setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#ac44e88f3164aa3f6daf8fb49f8de58c4">admin_user</a>;</div>
|
||||
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>  </div>
|
||||
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>  <span class="keywordflow">if</span> (!setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a1b9de6527027791791ed29b0568e0649">admin_password</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>  jvRequest[<span class="stringliteral">"admin_password"</span>] = setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a1b9de6527027791791ed29b0568e0649">admin_password</a>;</div>
|
||||
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>  </div>
|
||||
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">isObject</a>())</div>
|
||||
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  jvParams.<a class="code" href="classJson_1_1Value.html#a7e49ac977e4bcf59745a09d426669f75">append</a>(jvRequest);</div>
|
||||
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvRequest.<a class="code" href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">isArray</a>())</div>
|
||||
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  {</div>
|
||||
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceJson.html#ab1488c31a37eea2d37f36a0961372572">Json::UInt</a> i = 0; i < jvRequest.<a class="code" href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">size</a>(); ++i)</div>
|
||||
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  jvParams.<a class="code" href="classJson_1_1Value.html#a7e49ac977e4bcf59745a09d426669f75">append</a>(jvRequest[i]);</div>
|
||||
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  }</div>
|
||||
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>  </div>
|
||||
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  {</div>
|
||||
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>  boost::asio::io_service isService;</div>
|
||||
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  <a class="code" href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2">RPCCall::fromNetwork</a>(</div>
|
||||
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>  isService,</div>
|
||||
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a59365bd43f0ddb6709e0ff7b012663c0">ip</a>,</div>
|
||||
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#af6d7f3e234d1d2df9d31b1aecd52d12f">port</a>,</div>
|
||||
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a17ee6c7d16c7d7ef14b0a55c2bfa8894">user</a>,</div>
|
||||
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#ae5259be5e20012d637b578dcbfbdf321">password</a>,</div>
|
||||
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>  <span class="stringliteral">""</span>,</div>
|
||||
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  jvRequest.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(</div>
|
||||
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  jss::method) <span class="comment">// Allow parser to rewrite method.</span></div>
|
||||
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  ? jvRequest[jss::method].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()</div>
|
||||
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  : jvRequest.<a class="code" href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">isArray</a>() ? <span class="stringliteral">"batch"</span> : args[0],</div>
|
||||
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  jvParams, <span class="comment">// Parsed, execute.</span></div>
|
||||
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a37975fda00ae09a0db0edaa34a2b1420">secure</a> != 0, <span class="comment">// Use SSL</span></div>
|
||||
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  config.<a class="code" href="classripple_1_1Config.html#a9162d3ba9894fc8eb804f573cc631dad">quiet</a>(),</div>
|
||||
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  logs,</div>
|
||||
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/bind.html">std::bind</a>(</div>
|
||||
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  <a class="code" href="structripple_1_1RPCCallImp.html#a0d0dc01bdca432ac14e8c67728199fb4">RPCCallImp::callRPCHandler</a>,</div>
|
||||
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  &jvOutput,</div>
|
||||
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  std::placeholders::_1),</div>
|
||||
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>  headers);</div>
|
||||
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>  isService.run(); <span class="comment">// This blocks until there are no more</span></div>
|
||||
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>  <span class="comment">// outstanding async calls.</span></div>
|
||||
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>  }</div>
|
||||
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  </div>
|
||||
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(<span class="stringliteral">"result"</span>))</div>
|
||||
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  {</div>
|
||||
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  boost::asio::io_service isService;</div>
|
||||
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  <a class="code" href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2">RPCCall::fromNetwork</a>(</div>
|
||||
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  isService,</div>
|
||||
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a59365bd43f0ddb6709e0ff7b012663c0">ip</a>,</div>
|
||||
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#af6d7f3e234d1d2df9d31b1aecd52d12f">port</a>,</div>
|
||||
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a17ee6c7d16c7d7ef14b0a55c2bfa8894">user</a>,</div>
|
||||
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#ae5259be5e20012d637b578dcbfbdf321">password</a>,</div>
|
||||
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  <span class="stringliteral">""</span>,</div>
|
||||
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  jvRequest.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(</div>
|
||||
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  jss::method) <span class="comment">// Allow parser to rewrite method.</span></div>
|
||||
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  ? jvRequest[jss::method].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()</div>
|
||||
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>  : jvRequest.<a class="code" href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">isArray</a>() ? <span class="stringliteral">"batch"</span> : args[0],</div>
|
||||
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>  jvParams, <span class="comment">// Parsed, execute.</span></div>
|
||||
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>  setup.<a class="code" href="structripple_1_1ServerHandler_1_1Setup.html#a3484d1dc8f1ab57bee93b891e725a413">client</a>.<a class="code" href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a37975fda00ae09a0db0edaa34a2b1420">secure</a> != 0, <span class="comment">// Use SSL</span></div>
|
||||
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>  config.<a class="code" href="classripple_1_1Config.html#a9162d3ba9894fc8eb804f573cc631dad">quiet</a>(),</div>
|
||||
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>  logs,</div>
|
||||
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/bind.html">std::bind</a>(</div>
|
||||
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  <a class="code" href="structripple_1_1RPCCallImp.html#a0d0dc01bdca432ac14e8c67728199fb4">RPCCallImp::callRPCHandler</a>,</div>
|
||||
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>  &jvOutput,</div>
|
||||
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  std::placeholders::_1),</div>
|
||||
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>  headers);</div>
|
||||
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>  isService.run(); <span class="comment">// This blocks until there are no more</span></div>
|
||||
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>  <span class="comment">// outstanding async calls.</span></div>
|
||||
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  }</div>
|
||||
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(<span class="stringliteral">"result"</span>))</div>
|
||||
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  {</div>
|
||||
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>  <span class="comment">// Had a successful JSON-RPC 2.0 call.</span></div>
|
||||
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  jvOutput = jvOutput[<span class="stringliteral">"result"</span>];</div>
|
||||
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  </div>
|
||||
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>  <span class="comment">// jvOutput may report a server side error.</span></div>
|
||||
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  <span class="comment">// It should report "status".</span></div>
|
||||
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  }</div>
|
||||
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>  {</div>
|
||||
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>  <span class="comment">// Transport error.</span></div>
|
||||
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRpcError = jvOutput;</div>
|
||||
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  <span class="comment">// Had a successful JSON-RPC 2.0 call.</span></div>
|
||||
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  jvOutput = jvOutput[<span class="stringliteral">"result"</span>];</div>
|
||||
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  </div>
|
||||
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  <span class="comment">// jvOutput may report a server side error.</span></div>
|
||||
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <span class="comment">// It should report "status".</span></div>
|
||||
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  }</div>
|
||||
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  {</div>
|
||||
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  <span class="comment">// Transport error.</span></div>
|
||||
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvRpcError = jvOutput;</div>
|
||||
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  </div>
|
||||
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>  jvOutput = <a class="code" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ac1a6dff600f246dd125ce9d6d02eeeba">rpcJSON_RPC</a>);</div>
|
||||
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>  jvOutput[<span class="stringliteral">"result"</span>] = jvRpcError;</div>
|
||||
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>  }</div>
|
||||
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>  </div>
|
||||
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>  <span class="comment">// If had an error, supply invocation in result.</span></div>
|
||||
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
|
||||
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  {</div>
|
||||
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>  jvOutput[<span class="stringliteral">"rpc"</span>] =</div>
|
||||
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  jvRpc; <span class="comment">// How the command was seen as method + params.</span></div>
|
||||
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>  jvOutput[<span class="stringliteral">"request_sent"</span>] =</div>
|
||||
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>  jvRequest; <span class="comment">// How the command was translated.</span></div>
|
||||
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>  }</div>
|
||||
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>  }</div>
|
||||
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>  </div>
|
||||
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
|
||||
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>  {</div>
|
||||
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  jvOutput[jss::status] = <span class="stringliteral">"error"</span>;</div>
|
||||
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error_code))</div>
|
||||
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>  nRet = <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(jvOutput[jss::error_code].asString());</div>
|
||||
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvOutput[jss::error].isMember(jss::error_code))</div>
|
||||
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  nRet =</div>
|
||||
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(jvOutput[jss::error][jss::error_code].asString());</div>
|
||||
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>  nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a>;</div>
|
||||
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>  }</div>
|
||||
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>  </div>
|
||||
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>  jvOutput = <a class="code" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ac1a6dff600f246dd125ce9d6d02eeeba">rpcJSON_RPC</a>);</div>
|
||||
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  jvOutput[<span class="stringliteral">"result"</span>] = jvRpcError;</div>
|
||||
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  }</div>
|
||||
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  </div>
|
||||
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>  <span class="comment">// If had an error, supply invocation in result.</span></div>
|
||||
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
|
||||
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  {</div>
|
||||
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>  jvOutput[<span class="stringliteral">"rpc"</span>] =</div>
|
||||
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  jvRpc; <span class="comment">// How the command was seen as method + params.</span></div>
|
||||
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  jvOutput[<span class="stringliteral">"request_sent"</span>] =</div>
|
||||
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>  jvRequest; <span class="comment">// How the command was translated.</span></div>
|
||||
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  }</div>
|
||||
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  }</div>
|
||||
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  </div>
|
||||
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
|
||||
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  {</div>
|
||||
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  jvOutput[jss::status] = <span class="stringliteral">"error"</span>;</div>
|
||||
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>  <span class="keywordflow">if</span> (jvOutput.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error_code))</div>
|
||||
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>  nRet = <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(jvOutput[jss::error_code].asString());</div>
|
||||
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvOutput[jss::error].isMember(jss::error_code))</div>
|
||||
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  nRet =</div>
|
||||
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(jvOutput[jss::error][jss::error_code].asString());</div>
|
||||
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a>;</div>
|
||||
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  }</div>
|
||||
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  </div>
|
||||
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  <span class="comment">// YYY We could have a command line flag for single line output for</span></div>
|
||||
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>  <span class="comment">// scripts. YYY We would intercept output here and simplify it.</span></div>
|
||||
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>  }</div>
|
||||
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  <span class="keywordflow">catch</span> (RequestNotParseable& e)</div>
|
||||
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>  {</div>
|
||||
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>  jvOutput = <a class="code" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4">rpcINVALID_PARAMS</a>);</div>
|
||||
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  jvOutput[<span class="stringliteral">"error_what"</span>] = e.what();</div>
|
||||
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4">rpcINVALID_PARAMS</a>;</div>
|
||||
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  }</div>
|
||||
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>  <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a>& e)</div>
|
||||
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  {</div>
|
||||
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  jvOutput = <a class="code" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f">rpcINTERNAL</a>);</div>
|
||||
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>  jvOutput[<span class="stringliteral">"error_what"</span>] = e.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f">rpcINTERNAL</a>;</div>
|
||||
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  }</div>
|
||||
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  </div>
|
||||
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  <span class="keywordflow">return</span> {nRet, std::move(jvOutput)};</div>
|
||||
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span> }</div>
|
||||
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  </div>
|
||||
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  </div>
|
||||
<div class="line"><a name="l01693"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPCCall.html"> 1693</a></span> <span class="keyword">namespace </span>RPCCall {</div>
|
||||
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  </div>
|
||||
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span> <span class="keywordtype">int</span></div>
|
||||
<div class="line"><a name="l01696"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPCCall.html#a1a95d65d49327d8f4cc8c1bf142cc0eb"> 1696</a></span> <a class="code" href="namespaceripple_1_1RPCCall.html#a1a95d65d49327d8f4cc8c1bf142cc0eb">fromCommandLine</a>(</div>
|
||||
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>  <a class="code" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config,</div>
|
||||
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>  <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a>& vCmd,</div>
|
||||
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>  <a class="code" href="classripple_1_1Logs.html">Logs</a>& logs)</div>
|
||||
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>  <span class="comment">// YYY We could have a command line flag for single line output for</span></div>
|
||||
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <span class="comment">// scripts. YYY We would intercept output here and simplify it.</span></div>
|
||||
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  }</div>
|
||||
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  <span class="keywordflow">catch</span> (RequestNotParseable& e)</div>
|
||||
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>  {</div>
|
||||
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  jvOutput = <a class="code" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4">rpcINVALID_PARAMS</a>);</div>
|
||||
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>  jvOutput[<span class="stringliteral">"error_what"</span>] = e.what();</div>
|
||||
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>  nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4">rpcINVALID_PARAMS</a>;</div>
|
||||
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>  }</div>
|
||||
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a>& e)</div>
|
||||
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>  {</div>
|
||||
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  jvOutput = <a class="code" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f">rpcINTERNAL</a>);</div>
|
||||
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  jvOutput[<span class="stringliteral">"error_what"</span>] = e.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  nRet = <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f">rpcINTERNAL</a>;</div>
|
||||
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>  }</div>
|
||||
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  </div>
|
||||
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  <span class="keywordflow">return</span> {nRet, std::move(jvOutput)};</div>
|
||||
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span> }</div>
|
||||
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>  </div>
|
||||
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  </div>
|
||||
<div class="line"><a name="l01667"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPCCall.html"> 1667</a></span> <span class="keyword">namespace </span>RPCCall {</div>
|
||||
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>  </div>
|
||||
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span> <span class="keywordtype">int</span></div>
|
||||
<div class="line"><a name="l01670"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPCCall.html#a1a95d65d49327d8f4cc8c1bf142cc0eb"> 1670</a></span> <a class="code" href="namespaceripple_1_1RPCCall.html#a1a95d65d49327d8f4cc8c1bf142cc0eb">fromCommandLine</a>(</div>
|
||||
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  <a class="code" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config,</div>
|
||||
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a>& vCmd,</div>
|
||||
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>  <a class="code" href="classripple_1_1Logs.html">Logs</a>& logs)</div>
|
||||
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> {</div>
|
||||
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  <span class="keyword">auto</span> <span class="keyword">const</span> result =</div>
|
||||
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>  <a class="code" href="namespaceripple.html#a1675cc24642888c8fd2c1b39923086b0">rpcClient</a>(vCmd, config, logs, <a class="code" href="namespaceripple_1_1RPC.html#a8c4c4528421d724a8a82db708b1a761b">RPC::apiMaximumSupportedVersion</a>);</div>
|
||||
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>  </div>
|
||||
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/cout.html">std::cout</a> << result.second.toStyledString();</div>
|
||||
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  </div>
|
||||
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  <span class="keywordflow">return</span> result.first;</div>
|
||||
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> }</div>
|
||||
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  </div>
|
||||
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>  </div>
|
||||
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l01686"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2"> 1686</a></span> <a class="code" href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2">fromNetwork</a>(</div>
|
||||
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  boost::asio::io_service& io_service,</div>
|
||||
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strIp,</div>
|
||||
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>  <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> iPort,</div>
|
||||
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strUsername,</div>
|
||||
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strPassword,</div>
|
||||
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strPath,</div>
|
||||
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strMethod,</div>
|
||||
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>& jvParams,</div>
|
||||
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> bSSL,</div>
|
||||
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> quiet,</div>
|
||||
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>  <a class="code" href="classripple_1_1Logs.html">Logs</a>& logs,</div>
|
||||
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">void</span>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>& jvInput)> callbackFuncP,</div>
|
||||
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map<std::string, std::string></a> headers)</div>
|
||||
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> {</div>
|
||||
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>  <span class="keyword">auto</span> <span class="keyword">const</span> result = <a class="code" href="namespaceripple.html#a425645d42dd2466ffc69e73fc6861b3d">rpcClient</a>(vCmd, config, logs);</div>
|
||||
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>  <span class="keyword">auto</span> j = logs.<a class="code" href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">journal</a>(<span class="stringliteral">"HTTPClient"</span>);</div>
|
||||
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>  </div>
|
||||
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/cout.html">std::cout</a> << result.second.toStyledString();</div>
|
||||
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  </div>
|
||||
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>  <span class="keywordflow">return</span> result.first;</div>
|
||||
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> }</div>
|
||||
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  </div>
|
||||
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>  <span class="comment">// Connect to localhost</span></div>
|
||||
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  <span class="keywordflow">if</span> (!quiet)</div>
|
||||
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>  {</div>
|
||||
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>  JLOG(j.info()) << (bSSL ? <span class="stringliteral">"Securely connecting to "</span> : <span class="stringliteral">"Connecting to "</span>)</div>
|
||||
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  << strIp << <span class="stringliteral">":"</span> << iPort << <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>  }</div>
|
||||
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  </div>
|
||||
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l01711"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2"> 1711</a></span> <a class="code" href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2">fromNetwork</a>(</div>
|
||||
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>  boost::asio::io_service& io_service,</div>
|
||||
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strIp,</div>
|
||||
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>  <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> iPort,</div>
|
||||
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strUsername,</div>
|
||||
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strPassword,</div>
|
||||
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strPath,</div>
|
||||
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& strMethod,</div>
|
||||
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>& jvParams,</div>
|
||||
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> bSSL,</div>
|
||||
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> quiet,</div>
|
||||
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  <a class="code" href="classripple_1_1Logs.html">Logs</a>& logs,</div>
|
||||
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">void</span>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>& jvInput)> callbackFuncP,</div>
|
||||
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map<std::string, std::string></a> headers)</div>
|
||||
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> {</div>
|
||||
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  <span class="keyword">auto</span> j = logs.<a class="code" href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">journal</a>(<span class="stringliteral">"HTTPClient"</span>);</div>
|
||||
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>  </div>
|
||||
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>  <span class="comment">// Connect to localhost</span></div>
|
||||
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>  <span class="keywordflow">if</span> (!quiet)</div>
|
||||
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>  {</div>
|
||||
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>  JLOG(j.info()) << (bSSL ? <span class="stringliteral">"Securely connecting to "</span> : <span class="stringliteral">"Connecting to "</span>)</div>
|
||||
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>  << strIp << <span class="stringliteral">":"</span> << iPort << <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>  }</div>
|
||||
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>  </div>
|
||||
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>  <span class="comment">// HTTP basic authentication</span></div>
|
||||
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>  headers[<span class="stringliteral">"Authorization"</span>] =</div>
|
||||
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">"Basic "</span>) + <a class="code" href="namespaceripple.html#a9e4e400df889dc7cb9df0f859a8e4f18">base64_encode</a>(strUsername + <span class="stringliteral">":"</span> + strPassword);</div>
|
||||
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>  </div>
|
||||
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>  <span class="comment">// Send request</span></div>
|
||||
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>  </div>
|
||||
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>  <span class="comment">// Number of bytes to try to receive if no</span></div>
|
||||
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>  <span class="comment">// Content-Length header received</span></div>
|
||||
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>  constexpr <span class="keyword">auto</span> RPC_REPLY_MAX_BYTES = <a class="code" href="namespaceripple.html#a13d7c6c34d30731bbc221f629e03f8db">megabytes</a>(256);</div>
|
||||
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>  </div>
|
||||
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>  <span class="keyword">using namespace </span>std::chrono_literals;</div>
|
||||
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>  <span class="keyword">auto</span> constexpr RPC_NOTIFY = 10min;</div>
|
||||
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>  </div>
|
||||
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>  <a class="code" href="classripple_1_1HTTPClient.html#a6655540e8a9d9255e16358b8edfeb9a5">HTTPClient::request</a>(</div>
|
||||
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>  bSSL,</div>
|
||||
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>  io_service,</div>
|
||||
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>  strIp,</div>
|
||||
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>  iPort,</div>
|
||||
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/bind.html">std::bind</a>(</div>
|
||||
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>  &<a class="code" href="structripple_1_1RPCCallImp.html#a932251660d12e31109ecaeb2b7a78ff8">RPCCallImp::onRequest</a>,</div>
|
||||
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>  strMethod,</div>
|
||||
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>  jvParams,</div>
|
||||
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  headers,</div>
|
||||
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>  strPath,</div>
|
||||
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  std::placeholders::_1,</div>
|
||||
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>  std::placeholders::_2,</div>
|
||||
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>  j),</div>
|
||||
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  RPC_REPLY_MAX_BYTES,</div>
|
||||
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  RPC_NOTIFY,</div>
|
||||
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/bind.html">std::bind</a>(</div>
|
||||
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>  &<a class="code" href="structripple_1_1RPCCallImp.html#ab7421486f8b9b70783fab86e3a4cd382">RPCCallImp::onResponse</a>,</div>
|
||||
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>  callbackFuncP,</div>
|
||||
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>  std::placeholders::_1,</div>
|
||||
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>  std::placeholders::_2,</div>
|
||||
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>  std::placeholders::_3,</div>
|
||||
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>  j),</div>
|
||||
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  j);</div>
|
||||
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> }</div>
|
||||
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>  </div>
|
||||
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> } <span class="comment">// namespace RPCCall</span></div>
|
||||
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>  </div>
|
||||
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  <span class="comment">// HTTP basic authentication</span></div>
|
||||
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>  headers[<span class="stringliteral">"Authorization"</span>] =</div>
|
||||
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">"Basic "</span>) + <a class="code" href="namespaceripple.html#a9e4e400df889dc7cb9df0f859a8e4f18">base64_encode</a>(strUsername + <span class="stringliteral">":"</span> + strPassword);</div>
|
||||
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>  </div>
|
||||
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>  <span class="comment">// Send request</span></div>
|
||||
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>  </div>
|
||||
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>  <span class="comment">// Number of bytes to try to receive if no</span></div>
|
||||
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  <span class="comment">// Content-Length header received</span></div>
|
||||
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  constexpr <span class="keyword">auto</span> RPC_REPLY_MAX_BYTES = <a class="code" href="namespaceripple.html#a13d7c6c34d30731bbc221f629e03f8db">megabytes</a>(256);</div>
|
||||
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>  </div>
|
||||
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  <span class="keyword">using namespace </span>std::chrono_literals;</div>
|
||||
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="keyword">auto</span> constexpr RPC_NOTIFY = 10min;</div>
|
||||
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  </div>
|
||||
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>  <a class="code" href="classripple_1_1HTTPClient.html#a6655540e8a9d9255e16358b8edfeb9a5">HTTPClient::request</a>(</div>
|
||||
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>  bSSL,</div>
|
||||
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>  io_service,</div>
|
||||
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  strIp,</div>
|
||||
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>  iPort,</div>
|
||||
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/bind.html">std::bind</a>(</div>
|
||||
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>  &<a class="code" href="structripple_1_1RPCCallImp.html#a932251660d12e31109ecaeb2b7a78ff8">RPCCallImp::onRequest</a>,</div>
|
||||
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>  strMethod,</div>
|
||||
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>  jvParams,</div>
|
||||
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>  headers,</div>
|
||||
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>  strPath,</div>
|
||||
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>  std::placeholders::_1,</div>
|
||||
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>  std::placeholders::_2,</div>
|
||||
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>  j),</div>
|
||||
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>  RPC_REPLY_MAX_BYTES,</div>
|
||||
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>  RPC_NOTIFY,</div>
|
||||
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/bind.html">std::bind</a>(</div>
|
||||
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>  &<a class="code" href="structripple_1_1RPCCallImp.html#ab7421486f8b9b70783fab86e3a4cd382">RPCCallImp::onResponse</a>,</div>
|
||||
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>  callbackFuncP,</div>
|
||||
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>  std::placeholders::_1,</div>
|
||||
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>  std::placeholders::_2,</div>
|
||||
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>  std::placeholders::_3,</div>
|
||||
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>  j),</div>
|
||||
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>  j);</div>
|
||||
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> }</div>
|
||||
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>  </div>
|
||||
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> } <span class="comment">// namespace RPCCall</span></div>
|
||||
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>  </div>
|
||||
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_ab42eb3661c8c87fbc3ec71e1873b5f05"><div class="ttname"><a href="classripple_1_1RPCParser.html#ab42eb3661c8c87fbc3ec71e1873b5f05">ripple::RPCParser::parseAsIs</a></div><div class="ttdeci">Json::Value parseAsIs(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00181">RPCCall.cpp:181</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_ac5ab4944efcc2c6c3fe67a65aa01dec1"><div class="ttname"><a href="classripple_1_1RPCParser.html#ac5ab4944efcc2c6c3fe67a65aa01dec1">ripple::RPCParser::parseServerDefinitions</a></div><div class="ttdeci">Json::Value parseServerDefinitions(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01199">RPCCall.cpp:1199</a></div></div>
|
||||
@@ -1880,6 +1855,7 @@ $(function() {
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">std::string::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a9e4e400df889dc7cb9df0f859a8e4f18"><div class="ttname"><a href="namespaceripple.html#a9e4e400df889dc7cb9df0f859a8e4f18">ripple::base64_encode</a></div><div class="ttdeci">std::string base64_encode(std::uint8_t const *data, std::size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="base64_8cpp_source.html#l00236">base64.cpp:236</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932ac1a6dff600f246dd125ce9d6d02eeeba"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ac1a6dff600f246dd125ce9d6d02eeeba">ripple::rpcJSON_RPC</a></div><div class="ttdeci">@ rpcJSON_RPC</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00047">ErrorCodes.h:47</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ab4682f4bd2ebab9ae978712b0e2ea894"><div class="ttname"><a href="namespaceripple.html#ab4682f4bd2ebab9ae978712b0e2ea894">ripple::rpcCmdToJson</a></div><div class="ttdeci">Json::Value rpcCmdToJson(std::vector< std::string > const &args, Json::Value &retParams, unsigned int apiVersion, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01476">RPCCall.cpp:1476</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a08a13b62b18272366f788632359e8793"><div class="ttname"><a href="namespaceripple.html#a08a13b62b18272366f788632359e8793">ripple::toBase58</a></div><div class="ttdeci">std::string toBase58(AccountID const &v)</div><div class="ttdoc">Convert AccountID to base58 checked string.</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8cpp_source.html#l00104">AccountID.cpp:104</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a3242516775f84dbb11265184c84ded23"><div class="ttname"><a href="classripple_1_1RPCParser.html#a3242516775f84dbb11265184c84ded23">ripple::RPCParser::parseFetchInfo</a></div><div class="ttdeci">Json::Value parseFetchInfo(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00258">RPCCall.cpp:258</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a93c118d7e8f3636e80178b9a5e05e72e"><div class="ttname"><a href="classripple_1_1RPCParser.html#a93c118d7e8f3636e80178b9a5e05e72e">ripple::RPCParser::parseJson2</a></div><div class="ttdeci">Json::Value parseJson2(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00663">RPCCall.cpp:663</a></div></div>
|
||||
@@ -1901,6 +1877,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_a9162d3ba9894fc8eb804f573cc631dad"><div class="ttname"><a href="classripple_1_1Config.html#a9162d3ba9894fc8eb804f573cc631dad">ripple::Config::quiet</a></div><div class="ttdeci">bool quiet() const</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00336">Config.h:336</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a33bfeb90601bfdaa9c5df0c7ffb9635e"><div class="ttname"><a href="classripple_1_1RPCParser.html#a33bfeb90601bfdaa9c5df0c7ffb9635e">ripple::RPCParser::parseSubmitMultiSigned</a></div><div class="ttdeci">Json::Value parseSubmitMultiSigned(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01043">RPCCall.cpp:1043</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a7109c18d3a6300b7f95ae75866b0ac1c"><div class="ttname"><a href="classripple_1_1RPCParser.html#a7109c18d3a6300b7f95ae75866b0ac1c">ripple::RPCParser::j_</a></div><div class="ttdeci">const beast::Journal j_</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00094">RPCCall.cpp:94</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a1675cc24642888c8fd2c1b39923086b0"><div class="ttname"><a href="namespaceripple.html#a1675cc24642888c8fd2c1b39923086b0">ripple::rpcClient</a></div><div class="ttdeci">std::pair< int, Json::Value > rpcClient(std::vector< std::string > const &args, Config const &config, Logs &logs, unsigned int apiVersion, std::unordered_map< std::string, std::string > const &headers)</div><div class="ttdoc">Internal invocation of RPC client.</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01517">RPCCall.cpp:1517</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_abae0be083a6bc346ed4974512761ae04"><div class="ttname"><a href="classripple_1_1RPCParser.html#abae0be083a6bc346ed4974512761ae04">ripple::RPCParser::parsePeerReservationsAdd</a></div><div class="ttdeci">Json::Value parsePeerReservationsAdd(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00954">RPCCall.cpp:954</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a9717a8236d67d262b4e5273712ac545c"><div class="ttname"><a href="namespaceripple.html#a9717a8236d67d262b4e5273712ac545c">ripple::setup_ServerHandler</a></div><div class="ttdeci">ServerHandler::Setup setup_ServerHandler(Config const &config, std::ostream &&log)</div><div class="ttdef"><b>Definition:</b> <a href="ServerHandler_8cpp_source.html#l01236">ServerHandler.cpp:1236</a></div></div>
|
||||
<div class="ttc" id="acout_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/cout.html">std::cout</a></div></div>
|
||||
@@ -1948,10 +1925,9 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a0b3d8df792f4f485826a03dc63c3a16d"><div class="ttname"><a href="classripple_1_1RPCParser.html#a0b3d8df792f4f485826a03dc63c3a16d">ripple::RPCParser::parseValidationCreate</a></div><div class="ttdeci">Json::Value parseValidationCreate(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01131">RPCCall.cpp:1131</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f">ripple::rpcINTERNAL</a></div><div class="ttdeci">@ rpcINTERNAL</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00130">ErrorCodes.h:130</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a1627eb9d6568d6d0252fa8bb711c0a59"><div class="ttname"><a href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">Json::Value::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01015">json_value.cpp:1015</a></div></div>
|
||||
<div class="ttc" id="anamespaceJson_html_a844d3d2c97ae1bafd1faa5a1f408514b"><div class="ttname"><a href="namespaceJson.html#a844d3d2c97ae1bafd1faa5a1f408514b">Json::setArray</a></div><div class="ttdeci">Json::Value & setArray(Json::Value &, Json::StaticString const &key)</div><div class="ttdoc">Add a new subarray at a named key in a Json object.</div><div class="ttdef"><b>Definition:</b> <a href="Object_8h_source.html#l00414">Object.h:414</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a60badd0db2ef5b154d6101fe7b845e39"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a60badd0db2ef5b154d6101fe7b845e39">ripple::rpcCHANNEL_AMT_MALFORMED</a></div><div class="ttdeci">@ rpcCHANNEL_AMT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00101">ErrorCodes.h:101</a></div></div>
|
||||
<div class="ttc" id="abasic_ostringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPCCall_html_a1a95d65d49327d8f4cc8c1bf142cc0eb"><div class="ttname"><a href="namespaceripple_1_1RPCCall.html#a1a95d65d49327d8f4cc8c1bf142cc0eb">ripple::RPCCall::fromCommandLine</a></div><div class="ttdeci">int fromCommandLine(Config const &config, const std::vector< std::string > &vCmd, Logs &logs)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01696">RPCCall.cpp:1696</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPCCall_html_a1a95d65d49327d8f4cc8c1bf142cc0eb"><div class="ttname"><a href="namespaceripple_1_1RPCCall.html#a1a95d65d49327d8f4cc8c1bf142cc0eb">ripple::RPCCall::fromCommandLine</a></div><div class="ttdeci">int fromCommandLine(Config const &config, const std::vector< std::string > &vCmd, Logs &logs)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01670">RPCCall.cpp:1670</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a3eb4dc0381e1da47f10a0eb27f713bda"><div class="ttname"><a href="classripple_1_1RPCParser.html#a3eb4dc0381e1da47f10a0eb27f713bda">ripple::RPCParser::parseEvented</a></div><div class="ttdeci">Json::Value parseEvented(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00535">RPCCall.cpp:535</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPCCallImp_html_a32512463f0b70d4fcc36aec0536ab066"><div class="ttname"><a href="structripple_1_1RPCCallImp.html#a32512463f0b70d4fcc36aec0536ab066">ripple::RPCCallImp::RPCCallImp</a></div><div class="ttdeci">RPCCallImp()=default</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
@@ -1960,17 +1936,13 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a4fba57dbbed9bfaa196e1a0e0915dc8a"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a4fba57dbbed9bfaa196e1a0e0915dc8a">ripple::rpcACT_MALFORMED</a></div><div class="ttdeci">@ rpcACT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00090">ErrorCodes.h:90</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Logs_html_a725d5db842b36c748bd9da3401da3128"><div class="ttname"><a href="classripple_1_1Logs.html#a725d5db842b36c748bd9da3401da3128">ripple::Logs::journal</a></div><div class="ttdeci">beast::Journal journal(std::string const &name)</div><div class="ttdef"><b>Definition:</b> <a href="Log_8cpp_source.html#l00144">Log.cpp:144</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">ripple::rpcBAD_SYNTAX</a></div><div class="ttdeci">@ rpcBAD_SYNTAX</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00046">ErrorCodes.h:46</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a501a4d67e6c875255c2ecc03ccd2019b"><div class="ttname"><a href="classJson_1_1Value.html#a501a4d67e6c875255c2ecc03ccd2019b">Json::Value::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdoc">Remove all object members and array elements.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00753">json_value.cpp:753</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a2e316006c45784996f1c36ff28ecf795"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a2e316006c45784996f1c36ff28ecf795">ripple::rpcUNKNOWN_COMMAND</a></div><div class="ttdeci">@ rpcUNKNOWN_COMMAND</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00085">ErrorCodes.h:85</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa9714d222b28553ab9f4e9baf34be4ff"><div class="ttname"><a href="namespaceripple.html#aa9714d222b28553ab9f4e9baf34be4ff">ripple::cmdLineToJSONRPC</a></div><div class="ttdeci">Json::Value cmdLineToJSONRPC(std::vector< std::string > const &args, beast::Journal j)</div><div class="ttdoc">Given a rippled command line, return the corresponding JSON.</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01514">RPCCall.cpp:1514</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a1f47a83da46a9a0f5409db752d193525"><div class="ttname"><a href="classripple_1_1RPCParser.html#a1f47a83da46a9a0f5409db752d193525">ripple::RPCParser::parseDownloadShard</a></div><div class="ttdeci">Json::Value parseDownloadShard(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00192">RPCCall.cpp:192</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a468d00891c9d5998320ffe19b2434542"><div class="ttname"><a href="classripple_1_1RPCParser.html#a468d00891c9d5998320ffe19b2434542">ripple::RPCParser::parseDepositAuthorized</a></div><div class="ttdeci">Json::Value parseDepositAuthorized(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00521">RPCCall.cpp:521</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1ServerHandler_1_1Setup_1_1client__t_html_a37975fda00ae09a0db0edaa34a2b1420"><div class="ttname"><a href="structripple_1_1ServerHandler_1_1Setup_1_1client__t.html#a37975fda00ae09a0db0edaa34a2b1420">ripple::ServerHandler::Setup::client_t::secure</a></div><div class="ttdeci">bool secure</div><div class="ttdef"><b>Definition:</b> <a href="ServerHandler_8h_source.html#l00061">ServerHandler.h:61</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ab72afa7b2b33324b108c550dbc0a3c1f"><div class="ttname"><a href="namespaceripple.html#ab72afa7b2b33324b108c550dbc0a3c1f">ripple::rpcCmdLineToJson</a></div><div class="ttdeci">static Json::Value rpcCmdLineToJson(std::vector< std::string > const &args, Json::Value &retParams, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01476">RPCCall.cpp:1476</a></div></div>
|
||||
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/begin.html">std::string::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a74b305583ec3aacf4f9dd06e799dc265"><div class="ttname"><a href="classJson_1_1Value.html#a74b305583ec3aacf4f9dd06e799dc265">Json::Value::asUInt</a></div><div class="ttdeci">UInt asUInt() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00545">json_value.cpp:545</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPCCallImp_html_ab7421486f8b9b70783fab86e3a4cd382"><div class="ttname"><a href="structripple_1_1RPCCallImp.html#ab7421486f8b9b70783fab86e3a4cd382">ripple::RPCCallImp::onResponse</a></div><div class="ttdeci">static bool onResponse(std::function< void(Json::Value const &jvInput)> callbackFuncP, const boost::system::error_code &ecResult, int iStatus, std::string const &strData, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01410">RPCCall.cpp:1410</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a425645d42dd2466ffc69e73fc6861b3d"><div class="ttname"><a href="namespaceripple.html#a425645d42dd2466ffc69e73fc6861b3d">ripple::rpcClient</a></div><div class="ttdeci">std::pair< int, Json::Value > rpcClient(std::vector< std::string > const &args, Config const &config, Logs &logs, std::unordered_map< std::string, std::string > const &headers)</div><div class="ttdoc">Internal invocation of RPC client.</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01545">RPCCall.cpp:1545</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a1bf8df553d36589191c8057c136cce03ab23f52a56f27cc97abe221ea3c5cd56c"><div class="ttname"><a href="namespaceripple.html#a1bf8df553d36589191c8057c136cce03ab23f52a56f27cc97abe221ea3c5cd56c">ripple::TokenType::AccountPublic</a></div><div class="ttdeci">@ AccountPublic</div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Reader_html_a8ee4d40504e4f8b069745d762ab4d78c"><div class="ttname"><a href="classJson_1_1Reader.html#a8ee4d40504e4f8b069745d762ab4d78c">Json::Reader::parse</a></div><div class="ttdeci">bool parse(std::string const &document, Value &root)</div><div class="ttdoc">Read a Value from a JSON document.</div><div class="ttdef"><b>Definition:</b> <a href="json__reader_8cpp_source.html#l00074">json_reader.cpp:74</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_a8c4c4528421d724a8a82db708b1a761b"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a8c4c4528421d724a8a82db708b1a761b">ripple::RPC::apiMaximumSupportedVersion</a></div><div class="ttdeci">constexpr unsigned int apiMaximumSupportedVersion</div><div class="ttdef"><b>Definition:</b> <a href="RPCHelpers_8h_source.html#l00243">RPCHelpers.h:243</a></div></div>
|
||||
@@ -1990,7 +1962,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a614d635bc248a592593feb322cd15ab8"><div class="ttname"><a href="classJson_1_1Value.html#a614d635bc248a592593feb322cd15ab8">Json::Value::asInt</a></div><div class="ttdeci">Int asInt() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00503">json_value.cpp:503</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a62e5653a4b591563ac8e6e608b3200e9"><div class="ttname"><a href="classripple_1_1RPCParser.html#a62e5653a4b591563ac8e6e608b3200e9">ripple::RPCParser::isValidJson2</a></div><div class="ttdeci">bool isValidJson2(Json::Value const &jv)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00633">RPCCall.cpp:633</a></div></div>
|
||||
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/end.html">std::string::end</a></div><div class="ttdeci">T end(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPCCall_html_a9817ac845ca5041cf35be3ef4750a9f2"><div class="ttname"><a href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2">ripple::RPCCall::fromNetwork</a></div><div class="ttdeci">void fromNetwork(boost::asio::io_service &io_service, std::string const &strIp, const std::uint16_t iPort, std::string const &strUsername, std::string const &strPassword, std::string const &strPath, std::string const &strMethod, Json::Value const &jvParams, const bool bSSL, const bool quiet, Logs &logs, std::function< void(Json::Value const &jvInput)> callbackFuncP, std::unordered_map< std::string, std::string > headers)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01711">RPCCall.cpp:1711</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPCCall_html_a9817ac845ca5041cf35be3ef4750a9f2"><div class="ttname"><a href="namespaceripple_1_1RPCCall.html#a9817ac845ca5041cf35be3ef4750a9f2">ripple::RPCCall::fromNetwork</a></div><div class="ttdeci">void fromNetwork(boost::asio::io_service &io_service, std::string const &strIp, const std::uint16_t iPort, std::string const &strUsername, std::string const &strPassword, std::string const &strPath, std::string const &strMethod, Json::Value const &jvParams, const bool bSSL, const bool quiet, Logs &logs, std::function< void(Json::Value const &jvInput)> callbackFuncP, std::unordered_map< std::string, std::string > headers)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l01686">RPCCall.cpp:1686</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_a698d3fd0c0f0155995c87d2f48ac90d5"><div class="ttname"><a href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">ripple::base_uint::parseHex</a></div><div class="ttdeci">constexpr bool parseHex(std::string_view sv)</div><div class="ttdoc">Parse a hex string into a base_uint.</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00496">base_uint.h:496</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPCParser_html_a2d40420130c18e9c682f78bb20eafe88"><div class="ttname"><a href="classripple_1_1RPCParser.html#a2d40420130c18e9c682f78bb20eafe88">ripple::RPCParser::parseJson</a></div><div class="ttdeci">Json::Value parseJson(Json::Value const &jvParams)</div><div class="ttdef"><b>Definition:</b> <a href="RPCCall_8cpp_source.html#l00611">RPCCall.cpp:611</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_a5b6ce0616f6995340f4dd846660c3749"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a5b6ce0616f6995340f4dd846660c3749">ripple::RPC::make_param_error</a></div><div class="ttdeci">Json::Value make_param_error(std::string const &message)</div><div class="ttdoc">Returns a new json object that indicates invalid parameters.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00252">ErrorCodes.h:252</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user