31 #include <rapidjson/document.h>
32 #include <rapidjson/writer.h>
35 #include "byte_slice.h"
36 #include "byte_stream.h"
47 virtual void doToJson(rapidjson::Writer<epee::byte_stream>&
dest)
const
61 void toJson(rapidjson::Writer<epee::byte_stream>&
dest)
const;
63 virtual void fromJson(
const rapidjson::Value& val);
75 FullMessage(std::string&& json_string,
bool request=
false);
83 const rapidjson::Value&
getID()
const;
87 static epee::byte_slice
getRequest(
const std::string& request,
const Message& message,
unsigned id);
88 static epee::byte_slice
getResponse(
const Message& message,
const rapidjson::Value&
id);
99 rapidjson::Document
doc;
104 epee::byte_slice
BAD_REQUEST(
const std::string& request);
105 epee::byte_slice
BAD_REQUEST(
const std::string& request,
const rapidjson::Value&
id);
107 epee::byte_slice
BAD_JSON(
const std::string& error_details);
static epee::byte_slice getRequest(const std::string &request, const Message &message, unsigned id)
Definition: message.cpp:151
const rapidjson::Value & getMessage() const
Definition: message.cpp:110
FullMessage & operator=(const FullMessage &)=delete
~FullMessage()
Definition: message.h:73
FullMessage(const std::string &request, Message *message)
FullMessage(const FullMessage &)=delete
FullMessage(Message *message)
static epee::byte_slice getResponse(const Message &message, const rapidjson::Value &id)
Definition: message.cpp:178
rapidjson::Document doc
Definition: message.h:99
std::string contents
Definition: message.h:98
rapidjson::Value getMessageCopy()
Definition: message.cpp:127
std::string getRequestType() const
Definition: message.cpp:105
cryptonote::rpc::error getError()
Definition: message.cpp:138
const rapidjson::Value & getID() const
Definition: message.cpp:132
static const char * STATUS_FAILED
Definition: message.h:53
virtual void fromJson(const rapidjson::Value &val)
Definition: message.cpp:73
std::string status
Definition: message.h:65
static const char * STATUS_OK
Definition: message.h:51
Message()
Definition: message.h:57
static const char * STATUS_BAD_JSON
Definition: message.h:55
static const char * STATUS_RETRY
Definition: message.h:52
void toJson(rapidjson::Writer< epee::byte_stream > &dest) const
Definition: message.cpp:65
uint32_t rpc_version
Definition: message.h:67
std::string error_details
Definition: message.h:66
virtual void doToJson(rapidjson::Writer< epee::byte_stream > &dest) const
Definition: message.h:47
static const char * STATUS_BAD_REQUEST
Definition: message.h:54
virtual ~Message()
Definition: message.h:59
epee::byte_slice BAD_REQUEST(const std::string &request)
Definition: message.cpp:213
epee::byte_slice BAD_JSON(const std::string &error_details)
Definition: message.cpp:227
Holds cryptonote related classes and helpers.
Definition: blockchain_db.cpp:45
CXA_THROW_INFO_T void(* dest)(void *))
Definition: stack_trace.cpp:90
Definition: message_data_structs.h:144