rippled
Loading...
Searching...
No Matches
RPCCall.h
1#pragma once
2
3#include <xrpld/core/Config.h>
4
5#include <xrpl/basics/Log.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& io_context,
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 = std::function<void(Json::Value const& jvInput)>(),
44} // namespace RPCCall
45
47rpcCmdToJson(std::vector<std::string> const& args, Json::Value& retParams, unsigned int apiVersion, beast::Journal j);
48
54 std::vector<std::string> const& args,
55 Config const& config,
56 Logs& logs,
57 unsigned int apiVersion,
59
60} // namespace xrpl
Represents a JSON value.
Definition json_value.h:130
A generic endpoint for log messages.
Definition Journal.h:40
int fromCommandLine(Config const &config, std::vector< std::string > const &vCmd, Logs &logs)
Definition RPCCall.cpp:1578
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:1590
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
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:1437
Json::Value rpcCmdToJson(std::vector< std::string > const &args, Json::Value &retParams, unsigned int apiVersion, beast::Journal j)
Definition RPCCall.cpp:1401