Files
clio/reporting/server/session.cpp
Nathan Nichols 8ee213f6bc Subscribe/Unsubscribe RPC handlers (#2)
Subscribe to ledgers, transactions and accounts
2021-05-18 11:06:46 -04:00

48 lines
1.3 KiB
C++

#include <reporting/server/session.h>
void
fail(boost::beast::error_code ec, char const* what)
{
std::cerr << what << ": " << ec.message() << "\n";
}
boost::json::object
buildResponse(
boost::json::object const& request,
BackendInterface const& backend,
SubscriptionManager& subManager,
std::shared_ptr<session> session)
{
std::string command = request.at("command").as_string().c_str();
boost::json::object response;
switch (commandMap[command])
{
case tx:
return doTx(request, backend);
break;
case account_tx:
return doAccountTx(request, backend);
break;
case book_offers:
return doBookOffers(request, backend);
break;
case ledger:
return doLedger(request, backend);
break;
case ledger_data:
return doLedgerData(request, backend);
break;
case account_info:
return doAccountInfo(request, backend);
break;
case subscribe:
return doSubscribe(request, session, subManager);
break;
case unsubscribe:
return doUnsubscribe(request, session, subManager);
break;
default:
BOOST_LOG_TRIVIAL(error) << "Unknown command: " << command;
}
return response;
}