From 4166ae8db037db7a378c116ff45e7d4a65151230 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Tue, 30 Jul 2019 21:32:20 +0200 Subject: [PATCH] Check HttpStatusCodeAttribute --- src/lyrics/auddlyricsprovider.cpp | 9 +++++++-- src/lyrics/chartlyricsprovider.cpp | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lyrics/auddlyricsprovider.cpp b/src/lyrics/auddlyricsprovider.cpp index 2b8d254f1..7ad51abf4 100644 --- a/src/lyrics/auddlyricsprovider.cpp +++ b/src/lyrics/auddlyricsprovider.cpp @@ -135,6 +135,12 @@ QJsonObject AuddLyricsProvider::ExtractJsonObj(QNetworkReply *reply, const quint return QJsonObject(); } + if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() != 200) { + QString failure_reason = QString("Received HTTP code %1").arg(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()); + Error(id, failure_reason); + return QJsonObject(); + } + QByteArray data(reply->readAll()); QJsonParseError error; @@ -209,6 +215,5 @@ QJsonArray AuddLyricsProvider::ExtractResult(QNetworkReply *reply, const quint64 void AuddLyricsProvider::Error(const quint64 id, const QString &error, QVariant debug) { qLog(Error) << "AudDLyrics:" << error; if (debug.isValid()) qLog(Debug) << debug; - LyricsSearchResults results; - emit SearchFinished(id, results); + emit SearchFinished(id, LyricsSearchResults()); } diff --git a/src/lyrics/chartlyricsprovider.cpp b/src/lyrics/chartlyricsprovider.cpp index 782b7a1b1..684b22469 100644 --- a/src/lyrics/chartlyricsprovider.cpp +++ b/src/lyrics/chartlyricsprovider.cpp @@ -79,6 +79,12 @@ void ChartLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 return; } + if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() != 200) { + QString failure_reason = QString("Received HTTP code %1").arg(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt()); + Error(id, failure_reason); + return; + } + QXmlStreamReader reader(reply); LyricsSearchResults results; LyricsSearchResult result; @@ -125,6 +131,5 @@ void ChartLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 void ChartLyricsProvider::Error(const quint64 id, const QString &error, QVariant debug) { qLog(Error) << "ChartLyrics:" << error; if (debug.isValid()) qLog(Debug) << debug; - LyricsSearchResults results; - emit SearchFinished(id, results); + emit SearchFinished(id, LyricsSearchResults()); }