From ee536e6d3b2285576f3b995fad041842332c5a2b Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:29:18 +0100 Subject: [PATCH] [NetworkManager] Set Version string as user agent (#6411) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [NetworkManager] Set Version string as user agent Took 13 minutes * Update in oracle. Took 14 minutes --------- Co-authored-by: Lukas BrĂ¼bach --- cockatrice/src/client/network/spoiler_background_updater.cpp | 5 ++++- cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp | 2 ++ cockatrice/src/client/tapped_out_interface.cpp | 2 ++ .../src/client/ui/picture_loader/picture_loader_worker.cpp | 2 ++ cockatrice/src/deck/deck_stats_interface.cpp | 2 ++ 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/client/network/spoiler_background_updater.cpp b/cockatrice/src/client/network/spoiler_background_updater.cpp index a8a3a4b81..abc159ebd 100644 --- a/cockatrice/src/client/network/spoiler_background_updater.cpp +++ b/cockatrice/src/client/network/spoiler_background_updater.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #define SPOILERS_STATUS_URL "https://raw.githubusercontent.com/Cockatrice/Magic-Spoiler/files/SpoilerSeasonEnabled" #define SPOILERS_URL "https://raw.githubusercontent.com/Cockatrice/Magic-Spoiler/files/spoiler.xml" @@ -41,7 +42,9 @@ void SpoilerBackgroundUpdater::startSpoilerDownloadProcess(QString url, bool sav void SpoilerBackgroundUpdater::downloadFromURL(QUrl url, bool saveResults) { auto *nam = new QNetworkAccessManager(this); - QNetworkReply *reply = nam->get(QNetworkRequest(url)); + auto request = QNetworkRequest(url); + request.setHeader(QNetworkRequest::UserAgentHeader, QString("Cockatrice %1").arg(VERSION_STRING)); + QNetworkReply *reply = nam->get(request); if (saveResults) { // This will write out to the file (used for spoiler.xml) diff --git a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp index 4165a27b9..0dcaec46d 100644 --- a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp @@ -12,6 +12,7 @@ #include #include #include +#include TabEdhRec::TabEdhRec(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor) { @@ -49,6 +50,7 @@ void TabEdhRec::setCard(CardInfoPtr _cardToQuery, bool isCommander) QNetworkRequest request{QUrl(url)}; + request.setHeader(QNetworkRequest::UserAgentHeader, QString("Cockatrice %1").arg(VERSION_STRING)); networkManager->get(request); } diff --git a/cockatrice/src/client/tapped_out_interface.cpp b/cockatrice/src/client/tapped_out_interface.cpp index d6a47b018..446763fb8 100644 --- a/cockatrice/src/client/tapped_out_interface.cpp +++ b/cockatrice/src/client/tapped_out_interface.cpp @@ -9,6 +9,7 @@ #include #include #include +#include TappedOutInterface::TappedOutInterface(CardDatabase &_cardDatabase, QObject *parent) : QObject(parent), cardDatabase(_cardDatabase) @@ -88,6 +89,7 @@ void TappedOutInterface::analyzeDeck(DeckList *deck) QNetworkRequest request(QUrl("https://tappedout.net/mtg-decks/paste/")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); + request.setHeader(QNetworkRequest::UserAgentHeader, QString("Cockatrice %1").arg(VERSION_STRING)); manager->post(request, data); } diff --git a/cockatrice/src/client/ui/picture_loader/picture_loader_worker.cpp b/cockatrice/src/client/ui/picture_loader/picture_loader_worker.cpp index fce81fe6a..a03c2908f 100644 --- a/cockatrice/src/client/ui/picture_loader/picture_loader_worker.cpp +++ b/cockatrice/src/client/ui/picture_loader/picture_loader_worker.cpp @@ -9,6 +9,7 @@ #include #include #include +#include // Card back returned by gatherer when card is not found QStringList PictureLoaderWorker::md5Blacklist = QStringList() << "db0c48db407a907c16ade38de048a441"; @@ -263,6 +264,7 @@ QNetworkReply *PictureLoaderWorker::makeRequest(const QUrl &url) // In the end, just do the simple thing and disable HTTP compression. req.setRawHeader("accept-encoding", "identity"); + req.setHeader(QNetworkRequest::UserAgentHeader, QString("Cockatrice %1").arg(VERSION_STRING)); if (!picDownload) { req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache); } diff --git a/cockatrice/src/deck/deck_stats_interface.cpp b/cockatrice/src/deck/deck_stats_interface.cpp index dc2ab14df..67c6d258c 100644 --- a/cockatrice/src/deck/deck_stats_interface.cpp +++ b/cockatrice/src/deck/deck_stats_interface.cpp @@ -9,6 +9,7 @@ #include #include #include +#include DeckStatsInterface::DeckStatsInterface(CardDatabase &_cardDatabase, QObject *parent) : QObject(parent), cardDatabase(_cardDatabase) @@ -63,6 +64,7 @@ void DeckStatsInterface::analyzeDeck(DeckList *deck) QNetworkRequest request(QUrl("https://deckstats.net/index.php")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); + request.setHeader(QNetworkRequest::UserAgentHeader, QString("Cockatrice %1").arg(VERSION_STRING)); manager->post(request, data); }