From 8125cc627e2af7693a8012f14e317292e0949781 Mon Sep 17 00:00:00 2001
From: Zhiyuan Li <uniartisan2017@gmail.com>
Date: Sat, 17 Aug 2024 14:20:58 +1000
Subject: [PATCH] enhance: Internal requests follow 301 redirects

---
 src/backend/sparkapi.cpp  | 2 ++
 src/pages/appintopage.cpp | 6 ++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/backend/sparkapi.cpp b/src/backend/sparkapi.cpp
index 8c64d1c..2947108 100644
--- a/src/backend/sparkapi.cpp
+++ b/src/backend/sparkapi.cpp
@@ -28,6 +28,7 @@ void SparkAPI::get(QUrl url)
     QNetworkRequest request;
     HttpRequest *httprequest = new HttpRequest;
     request.setUrl(QUrl(url.toString().replace("+", "%2B")));
+    request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
     connect(httprequest, &HttpRequest::finished, [=](QString data)
     {
         QByteArray arr = data.toUtf8();
@@ -53,6 +54,7 @@ void SparkAPI::getRAW(QUrl url)
     QNetworkRequest request;
     HttpRequest *httprequest = new HttpRequest;
     request.setUrl(QUrl(url.toString().replace("+", "%2B")));
+    request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
     connect(httprequest, &HttpRequest::finished, [=](QString data)
             {
             emit finishedRAW(data);
diff --git a/src/pages/appintopage.cpp b/src/pages/appintopage.cpp
index 2d4fdd3..ccf3303 100644
--- a/src/pages/appintopage.cpp
+++ b/src/pages/appintopage.cpp
@@ -73,6 +73,7 @@ void AppIntoPage::openUrl(const QUrl &url)
         iconRequest.setUrl(QUrl(pkgUrlBase + "/icon.png"));
         iconRequest.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
         iconRequest.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
+        iconRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
 
         iconManager->get(iconRequest);
         QObject::connect(iconManager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
@@ -96,6 +97,7 @@ void AppIntoPage::openUrl(const QUrl &url)
             request.setUrl(QUrl(imgUrl));
             request.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
             request.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
+            request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
             manager->get(request);
             QObject::connect(manager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
                 {
@@ -114,10 +116,10 @@ void AppIntoPage::openUrl(const QUrl &url)
                         qDebug() << imgUrl;
                     }
 
-                    manager->deleteLater(); 
+                    manager->deleteLater();
                 });
         }
-        
+
 
         /**
          * NOTE: No need to judget developmode status