mirror of
https://github.com/monero-project/monero.git
synced 2024-12-23 12:09:54 +00:00
epee: when loading a JSON RPC payload, ensure params is an object
this makes it easier to spot those mistakes by the caller
This commit is contained in:
parent
9367b432f6
commit
b67e931843
1 changed files with 10 additions and 0 deletions
|
@ -152,6 +152,16 @@
|
||||||
epee::serialization::store_t_to_json(static_cast<epee::json_rpc::error_response&>(rsp), response_info.m_body); \
|
epee::serialization::store_t_to_json(static_cast<epee::json_rpc::error_response&>(rsp), response_info.m_body); \
|
||||||
return true; \
|
return true; \
|
||||||
} \
|
} \
|
||||||
|
epee::serialization::storage_entry se; \
|
||||||
|
if(ps.get_value("params", se, nullptr) && se.type() != typeid(epee::serialization::section)) \
|
||||||
|
{ \
|
||||||
|
boost::value_initialized<epee::json_rpc::error_response> rsp; \
|
||||||
|
static_cast<epee::json_rpc::error_response&>(rsp).jsonrpc = "2.0"; \
|
||||||
|
static_cast<epee::json_rpc::error_response&>(rsp).error.code = -32701; \
|
||||||
|
static_cast<epee::json_rpc::error_response&>(rsp).error.message = "Params is not an object"; \
|
||||||
|
epee::serialization::store_t_to_json(static_cast<epee::json_rpc::error_response&>(rsp), response_info.m_body); \
|
||||||
|
return true; \
|
||||||
|
} \
|
||||||
epee::serialization::storage_entry id_; \
|
epee::serialization::storage_entry id_; \
|
||||||
id_ = epee::serialization::storage_entry(std::string()); \
|
id_ = epee::serialization::storage_entry(std::string()); \
|
||||||
ps.get_value("id", id_, nullptr); \
|
ps.get_value("id", id_, nullptr); \
|
||||||
|
|
Loading…
Reference in a new issue