#include <message.h>
Definition at line 81 of file message.h.
◆ ~FullMessage()
| cryptonote::rpc::FullMessage::~FullMessage |
( |
| ) |
|
|
inline |
◆ FullMessage() [1/2]
| cryptonote::rpc::FullMessage::FullMessage |
( |
FullMessage && | rhs | ) |
|
|
inlinenoexcept |
Definition at line 86 of file message.h.
86: doc(std::move(rhs.doc)) { }
◆ FullMessage() [2/2]
| cryptonote::rpc::FullMessage::FullMessage |
( |
const std::string & | json_string, |
|
|
bool | request = false ) |
Definition at line 111 of file message.cpp.
112{
113 doc.Parse(json_string.c_str());
114 if (doc.HasParseError() || !doc.IsObject())
115 {
116 throw cryptonote::json::PARSE_FAIL();
117 }
118
120
122 {
125 }
126 else
127 {
128 if (!doc.HasMember(result_field) && !doc.HasMember(error_field))
129 {
130 throw cryptonote::json::MISSING_KEY("error/result");
131 }
132 }
133}
#define OBJECT_HAS_MEMBER_OR_THROW(val, key)
◆ getError()
Definition at line 201 of file message.cpp.
202{
203 cryptonote::rpc::error err;
205 if (doc.HasMember(error_field))
206 {
209 }
210
211 return err;
212}
#define GET_FROM_JSON_OBJECT(source, dst, key)
◆ getID()
| rapidjson::Value & cryptonote::rpc::FullMessage::getID |
( |
| ) |
|
Definition at line 182 of file message.cpp.
183{
185 return doc[id_field];
186}
◆ getJson()
| std::string cryptonote::rpc::FullMessage::getJson |
( |
| ) |
|
Definition at line 135 of file message.cpp.
136{
137
138 if (!doc.HasMember(id_field))
139 {
140 doc.AddMember(id_field, rapidjson::Value("unused"), doc.GetAllocator());
141 }
142
143 rapidjson::StringBuffer
buf;
144
145 rapidjson::Writer<rapidjson::StringBuffer> writer(
buf);
146
147 doc.Accept(writer);
148
149 return std::string(
buf.GetString(),
buf.GetSize());
150}
◆ getMessage()
| rapidjson::Value & cryptonote::rpc::FullMessage::getMessage |
( |
| ) |
|
Definition at line 158 of file message.cpp.
159{
160 if (doc.HasMember(params_field))
161 {
162 return doc[params_field];
163 }
164 else if (doc.HasMember(result_field))
165 {
166 return doc[result_field];
167 }
168
169
171 return doc[error_field];
172
173}
◆ getMessageCopy()
| rapidjson::Value cryptonote::rpc::FullMessage::getMessageCopy |
( |
| ) |
|
Definition at line 175 of file message.cpp.
176{
178
179 return rapidjson::Value(val, doc.GetAllocator());
180}
rapidjson::Value & getMessage()
◆ getRequestType()
| std::string cryptonote::rpc::FullMessage::getRequestType |
( |
| ) |
const |
Definition at line 152 of file message.cpp.
153{
155 return doc[method_field].GetString();
156}
◆ requestMessage() [1/2]
| FullMessage cryptonote::rpc::FullMessage::requestMessage |
( |
const std::string & | request, |
|
|
Message * | message ) |
|
static |
Definition at line 214 of file message.cpp.
215{
217}
FullMessage(FullMessage &&rhs) noexcept
std::string message("Message requiring signing")
◆ requestMessage() [2/2]
| FullMessage cryptonote::rpc::FullMessage::requestMessage |
( |
const std::string & | request, |
|
|
Message * | message, |
|
|
rapidjson::Value & | id ) |
|
static |
Definition at line 219 of file message.cpp.
220{
222 mes.setID(id);
223 return mes;
224}
static FullMessage requestMessage(const std::string &request, Message *message)
◆ responseMessage() [1/2]
◆ responseMessage() [2/2]
| FullMessage cryptonote::rpc::FullMessage::responseMessage |
( |
Message * | message, |
|
|
rapidjson::Value & | id ) |
|
static |
Definition at line 231 of file message.cpp.
232{
234 mes.setID(id);
235 return mes;
236}
static FullMessage responseMessage(Message *message)
◆ setID()
| void cryptonote::rpc::FullMessage::setID |
( |
rapidjson::Value & | id | ) |
|
Definition at line 188 of file message.cpp.
189{
190 auto itr = doc.FindMember(id_field);
191 if (itr != doc.MemberEnd())
192 {
193 itr->value = id;
194 }
195 else
196 {
197 doc.AddMember(id_field, id, doc.GetAllocator());
198 }
199}
◆ timeoutMessage()
| FullMessage * cryptonote::rpc::FullMessage::timeoutMessage |
( |
| ) |
|
|
static |
Definition at line 238 of file message.cpp.
239{
241
242 auto& doc = full_message->doc;
243 auto& al = full_message->doc.GetAllocator();
244
245 doc.SetObject();
246
247
248 doc.AddMember("jsonrpc", "2.0", al);
249
250 cryptonote::rpc::error err;
251
252 err.
error_str =
"RPC request timed out.";
254
255 return full_message;
256}
#define INSERT_INTO_JSON_OBJECT(jsonVal, doc, key, source)
The documentation for this class was generated from the following files:
- /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/src/rpc/message.h
- /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/src/rpc/message.cpp