parseResponse() renamed to checkResponse and is now void.

This commit is contained in:
Kirill Kirilenko 2016-11-09 19:59:07 +03:00
parent 90d2c2dc96
commit 2861dc5dff
3 changed files with 10 additions and 14 deletions

View file

@ -33,7 +33,7 @@ public:
rapidjson::Document doc; rapidjson::Document doc;
doc.Parse(response.c_str()); doc.Parse(response.c_str());
parseResponse(doc); checkResponse(doc);
return *parseUser(doc, "result", REQUIRED); return *parseUser(doc, "result", REQUIRED);
} }
@ -71,7 +71,7 @@ public:
doc.Parse(response.c_str()); doc.Parse(response.c_str());
/// \todo Parse message /// \todo Parse message
parseResponse(doc); checkResponse(doc);
MessagePtr message = parseMessage(doc, "result", REQUIRED); MessagePtr message = parseMessage(doc, "result", REQUIRED);
} }
@ -92,7 +92,7 @@ public:
doc.Parse(response.c_str()); doc.Parse(response.c_str());
/// \todo Parse message /// \todo Parse message
parseResponse(doc); checkResponse(doc);
MessagePtr message = parseMessage(doc, "result", REQUIRED); MessagePtr message = parseMessage(doc, "result", REQUIRED);
} }
@ -127,7 +127,7 @@ public:
doc.Parse(response.c_str()); doc.Parse(response.c_str());
/// \todo Parse message /// \todo Parse message
parseResponse(doc); checkResponse(doc);
MessagePtr message = parseMessage(doc, "result", REQUIRED); MessagePtr message = parseMessage(doc, "result", REQUIRED);
} }

View file

@ -266,19 +266,14 @@ namespace telebotxx
return nullptr; return nullptr;
} }
const rapidjson::Value& parseResponse(const rapidjson::Document& doc) void checkResponse(const rapidjson::Document& doc)
{ {
if (!doc.IsObject()) if (!doc.IsObject())
throw ParseError("Object expected"); throw ParseError("Object expected");
// Get status // Get status
bool ok = parse<bool>(doc, "ok", REQUIRED); bool ok = parse<bool>(doc, "ok", REQUIRED);
if (ok) if (!ok)
{
bool found;
return parseObject(doc, "result", REQUIRED, found);
}
else
{ {
int code = parse<int>(doc, "error_code", REQUIRED); int code = parse<int>(doc, "error_code", REQUIRED);
std::string description(parse<std::string>(doc, "description", REQUIRED)); std::string description(parse<std::string>(doc, "description", REQUIRED));

View file

@ -63,10 +63,11 @@ namespace telebotxx
/// \return pointer to Message /// \return pointer to Message
std::unique_ptr<Message> parseMessage(const rapidjson::Value& parent, const char* name, bool required); std::unique_ptr<Message> parseMessage(const rapidjson::Value& parent, const char* name, bool required);
/// \brief Parse JSON response /// \brief Check JSON response
///
/// Throws an exception if error code recieved.
/// \param doc reference to JSON document /// \param doc reference to JSON document
/// \return reference to 'result' value void checkResponse(const rapidjson::Document& doc);
const rapidjson::Value& parseResponse(const rapidjson::Document& doc);
} }
#endif // TELEBOTXX_JSON_OBJECTS_HPP #endif // TELEBOTXX_JSON_OBJECTS_HPP