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;
doc.Parse(response.c_str());
parseResponse(doc);
checkResponse(doc);
return *parseUser(doc, "result", REQUIRED);
}
@ -71,7 +71,7 @@ public:
doc.Parse(response.c_str());
/// \todo Parse message
parseResponse(doc);
checkResponse(doc);
MessagePtr message = parseMessage(doc, "result", REQUIRED);
}
@ -92,7 +92,7 @@ public:
doc.Parse(response.c_str());
/// \todo Parse message
parseResponse(doc);
checkResponse(doc);
MessagePtr message = parseMessage(doc, "result", REQUIRED);
}
@ -127,7 +127,7 @@ public:
doc.Parse(response.c_str());
/// \todo Parse message
parseResponse(doc);
checkResponse(doc);
MessagePtr message = parseMessage(doc, "result", REQUIRED);
}

View file

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

View file

@ -63,10 +63,11 @@ namespace telebotxx
/// \return pointer to Message
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
/// \return reference to 'result' value
const rapidjson::Value& parseResponse(const rapidjson::Document& doc);
void checkResponse(const rapidjson::Document& doc);
}
#endif // TELEBOTXX_JSON_OBJECTS_HPP