From 350bd0a7931bf3eccbabf5d461b67d65bffb6de6 Mon Sep 17 00:00:00 2001 From: Jared Van Bortel Date: Wed, 5 Feb 2025 16:31:37 -0500 Subject: [PATCH] do not assert that network requests have a valid status code Signed-off-by: Jared Van Bortel --- gpt4all-chat/src/embllm.cpp | 7 +++++-- gpt4all-chat/src/network.cpp | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/gpt4all-chat/src/embllm.cpp b/gpt4all-chat/src/embllm.cpp index 81b1e9e1..7906a56f 100644 --- a/gpt4all-chat/src/embllm.cpp +++ b/gpt4all-chat/src/embllm.cpp @@ -359,8 +359,11 @@ void EmbeddingLLMWorker::handleFinished() if (retrievedData.isValid() && retrievedData.canConvert>()) chunks = retrievedData.value>(); - QVariant response = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); - Q_ASSERT(response.isValid()); + QVariant response; + if (reply->error() != QNetworkReply::NoError) { + response = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); + Q_ASSERT(response.isValid()); + } bool ok; int code = response.toInt(&ok); if (!ok || code != 200) { diff --git a/gpt4all-chat/src/network.cpp b/gpt4all-chat/src/network.cpp index bff38010..70495fbe 100644 --- a/gpt4all-chat/src/network.cpp +++ b/gpt4all-chat/src/network.cpp @@ -242,6 +242,12 @@ void Network::handleJsonUploadFinished() m_activeUploads.removeAll(jsonReply); + if (jsonReply->error() != QNetworkReply::NoError) { + qWarning() << "Request to" << jsonReply->url().toString() << "failed:" << jsonReply->errorString(); + jsonReply->deleteLater(); + return; + } + QVariant response = jsonReply->attribute(QNetworkRequest::HttpStatusCodeAttribute); Q_ASSERT(response.isValid()); bool ok; @@ -449,6 +455,11 @@ void Network::handleIpifyFinished() QNetworkReply *reply = qobject_cast(sender()); if (!reply) return; + if (reply->error() != QNetworkReply::NoError) { + qWarning() << "Request to" << reply->url().toString() << "failed:" << reply->errorString(); + reply->deleteLater(); + return; + } QVariant response = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); Q_ASSERT(response.isValid()); @@ -473,6 +484,11 @@ void Network::handleMixpanelFinished() QNetworkReply *reply = qobject_cast(sender()); if (!reply) return; + if (reply->error() != QNetworkReply::NoError) { + qWarning() << "Request to" << reply->url().toString() << "failed:" << reply->errorString(); + reply->deleteLater(); + return; + } QVariant response = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); Q_ASSERT(response.isValid()); @@ -511,6 +527,11 @@ void Network::handleHealthFinished() QNetworkReply *healthReply = qobject_cast(sender()); if (!healthReply) return; + if (healthReply->error() != QNetworkReply::NoError) { + qWarning() << "Request to" << healthReply->url().toString() << "failed:" << healthReply->errorString(); + healthReply->deleteLater(); + return; + } QVariant response = healthReply->attribute(QNetworkRequest::HttpStatusCodeAttribute); Q_ASSERT(response.isValid());