xrpld
Loading...
Searching...
No Matches
RPCCall.h
1#pragma once
2
3#include <xrpld/core/Config.h>
4
5#include <xrpl/core/ServiceRegistry.h>
6#include <xrpl/json/json_value.h>
7
8#include <boost/asio/io_context.hpp>
9
10#include <functional>
11#include <string>
12#include <unordered_map>
13#include <vector>
14
15namespace xrpl {
16
17// This a trusted interface, the user is expected to provide valid input to
18// perform valid requests. Error catching and reporting is not a requirement of
19// the command line interface.
20//
21// Improvements to be more strict and to provide better diagnostics are welcome.
22
24namespace RPCCall {
25
26int
27fromCommandLine(Config const& config, std::vector<std::string> const& vCmd, Logs& logs);
28
29void
31 boost::asio::io_context& ioContext,
32 std::string const& strIp,
33 std::uint16_t const iPort,
34 std::string const& strUsername,
35 std::string const& strPassword,
36 std::string const& strPath,
37 std::string const& strMethod,
38 json::Value const& jvParams,
39 bool const bSSL,
40 bool quiet,
41 Logs& logs,
42 std::function<void(json::Value const& jvInput)> callbackFuncP =
43 std::function<void(json::Value const& jvInput)>(),
44 std::unordered_map<std::string, std::string> headers = {});
45} // namespace RPCCall
46
47json::Value
49 std::vector<std::string> const& args,
50 json::Value& retParams,
51 unsigned int apiVersion,
52 beast::Journal j);
53
57std::pair<int, json::Value>
59 std::vector<std::string> const& args,
60 Config const& config,
61 Logs& logs,
62 unsigned int apiVersion,
63 std::unordered_map<std::string, std::string> const& headers = {});
64
65} // namespace xrpl
Manages partitions for logging.
Definition Log.h:20
Processes XRPL RPC calls.
Definition RPCCall.cpp:1816
int fromCommandLine(Config const &config, std::vector< std::string > const &vCmd, Logs &logs)
Definition RPCCall.cpp:1819
void fromNetwork(boost::asio::io_context &ioContext, 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:1831
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
json::Value rpcCmdToJson(std::vector< std::string > const &args, json::Value &retParams, unsigned int apiVersion, beast::Journal j)
Definition RPCCall.cpp:1621
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:1666