20 #ifndef RIPPLE_RPC_HANDLER_H_INCLUDED
21 #define RIPPLE_RPC_HANDLER_H_INCLUDED
23 #include <ripple/app/ledger/LedgerMaster.h>
24 #include <ripple/app/misc/NetworkOPs.h>
25 #include <ripple/core/Config.h>
26 #include <ripple/rpc/RPCHandler.h>
27 #include <ripple/rpc/Status.h>
28 #include <ripple/rpc/impl/RPCHelpers.h>
29 #include <ripple/rpc/impl/Tuning.h>
49 template <
class JsonValue>
65 template <
class Value>
72 result[field] = value;
84 if (context.app.config().reporting())
100 if (context.app.getOPs().isAmendmentBlocked() &&
106 if (context.app.getOPs().isUNLBlocked() &&
115 JLOG(context.j.info()) <<
"Insufficient network mode for RPC: "
116 << context.netOps.strOperatingMode();
118 if (context.apiVersion == 1)
123 if (!context.app.config().standalone() &&
126 if (context.ledgerMaster.getValidatedLedgerAge() >
129 if (context.apiVersion == 1)
134 auto const cID = context.ledgerMaster.getCurrentLedgerIndex();
135 auto const vID = context.ledgerMaster.getValidLedgerIndex();
139 JLOG(context.j.debug())
140 <<
"Current ledger ID(" << cID
141 <<
") is less than validated ledger ID(" << vID <<
")";
142 if (context.apiVersion == 1)
149 !context.ledgerMaster.getClosedLedger())
151 if (context.apiVersion == 1)