rippled
Loading...
Searching...
No Matches
RPCCall.h
1#ifndef XRPL_NET_RPCCALL_H_INCLUDED
2#define XRPL_NET_RPCCALL_H_INCLUDED
3
4#include <xrpld/core/Config.h>
5
6#include <xrpl/basics/Log.h>
7#include <xrpl/json/json_value.h>
8
9#include <boost/asio/io_context.hpp>
10
11#include <functional>
12#include <string>
13#include <unordered_map>
14#include <vector>
15
16namespace ripple {
17
18// This a trusted interface, the user is expected to provide valid input to
19// perform valid requests. Error catching and reporting is not a requirement of
20// the command line interface.
21//
22// Improvements to be more strict and to provide better diagnostics are welcome.
23
25namespace RPCCall {
26
27int
29 Config const& config,
30 std::vector<std::string> const& vCmd,
31 Logs& logs);
32
33void
35 boost::asio::io_context& io_context,
36 std::string const& strIp,
37 std::uint16_t const iPort,
38 std::string const& strUsername,
39 std::string const& strPassword,
40 std::string const& strPath,
41 std::string const& strMethod,
42 Json::Value const& jvParams,
43 bool const bSSL,
44 bool quiet,
45 Logs& logs,
46 std::function<void(Json::Value const& jvInput)> callbackFuncP =
47 std::function<void(Json::Value const& jvInput)>(),
49} // namespace RPCCall
50
53 std::vector<std::string> const& args,
54 Json::Value& retParams,
55 unsigned int apiVersion,
57
63 std::vector<std::string> const& args,
64 Config const& config,
65 Logs& logs,
66 unsigned int apiVersion,
68
69} // namespace ripple
70
71#endif
Represents a JSON value.
Definition json_value.h:130
A generic endpoint for log messages.
Definition Journal.h:41
void fromNetwork(boost::asio::io_context &io_context, std::string const &strIp, std::uint16_t const iPort, std::string const &strUsername, std::string const &strPassword, std::string const &strPath, std::string const &strMethod, Json::Value const &jvParams, bool const bSSL, bool const quiet, Logs &logs, std::function< void(Json::Value const &jvInput)> callbackFuncP, std::unordered_map< std::string, std::string > headers)
Definition RPCCall.cpp:1642
int fromCommandLine(Config const &config, std::vector< std::string > const &vCmd, Logs &logs)
Definition RPCCall.cpp:1626
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
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)
Internal invocation of RPC client.
Definition RPCCall.cpp:1473
Json::Value rpcCmdToJson(std::vector< std::string > const &args, Json::Value &retParams, unsigned int apiVersion, beast::Journal j)
Definition RPCCall.cpp:1432