#include "common/NetworkResult.hpp" #include #include #include namespace chatterino { NetworkResult::NetworkResult(const QByteArray &data, int status) : data_(data) , status_(status) { } QJsonObject NetworkResult::parseJson() const { QJsonDocument jsonDoc(QJsonDocument::fromJson(this->data_)); if (jsonDoc.isNull()) { return QJsonObject{}; } return jsonDoc.object(); } QJsonArray NetworkResult::parseJsonArray() const { QJsonDocument jsonDoc(QJsonDocument::fromJson(this->data_)); if (jsonDoc.isNull()) { return QJsonArray{}; } return jsonDoc.array(); } rapidjson::Document NetworkResult::parseRapidJson() const { rapidjson::Document ret(rapidjson::kObjectType); rapidjson::ParseResult result = ret.Parse(this->data_.data(), this->data_.length()); if (result.Code() != rapidjson::kParseErrorNone) { qDebug() << "JSON parse error:" << rapidjson::GetParseError_En(result.Code()) << "(" << result.Offset() << ")"; return ret; } return ret; } const QByteArray &NetworkResult::getData() const { return this->data_; } int NetworkResult::status() const { return this->status_; } } // namespace chatterino