aboutsummaryrefslogtreecommitdiff
path: root/launcher/net
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/net')
-rw-r--r--launcher/net/Download.cpp10
-rw-r--r--launcher/net/Upload.cpp9
2 files changed, 16 insertions, 3 deletions
diff --git a/launcher/net/Download.cpp b/launcher/net/Download.cpp
index 5982c8c9..adb3d6fa 100644
--- a/launcher/net/Download.cpp
+++ b/launcher/net/Download.cpp
@@ -3,6 +3,7 @@
* PolyMC - Minecraft Launcher
* Copyright (c) 2022 flowln <flowlnlnln@gmail.com>
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
+ * Copyright (C) 2023 TheKodeToad <TheKodeToad@proton.me>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -113,10 +114,15 @@ void Download::executeTask()
}
request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgent().toUtf8());
+ // TODO remove duplication and use constant
if (APPLICATION->capabilities() & Application::SupportsFlame
- && request.url().host().contains("api.curseforge.com")) {
+ && request.url().host() == "api.curseforge.com") {
request.setRawHeader("x-api-key", APPLICATION->getFlameAPIKey().toUtf8());
- };
+ } else if (request.url().host() == "api.modrinth.com") {
+ QString token = APPLICATION->getModrinthAPIToken();
+ if (!token.isNull())
+ request.setRawHeader("Authorization", token.toUtf8());
+ }
QNetworkReply* rep = m_network->get(request);
diff --git a/launcher/net/Upload.cpp b/launcher/net/Upload.cpp
index 79b6af8d..cd0de945 100644
--- a/launcher/net/Upload.cpp
+++ b/launcher/net/Upload.cpp
@@ -3,6 +3,7 @@
* PolyMC - Minecraft Launcher
* Copyright (c) 2022 flowln <flowlnlnln@gmail.com>
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
+ * Copyright (C) 2023 TheKodeToad <TheKodeToad@proton.me>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -216,10 +217,16 @@ namespace Net {
}
request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgent().toUtf8());
+ // TODO remove duplication and use constant
if (APPLICATION->capabilities() & Application::SupportsFlame
- && request.url().host().contains("api.curseforge.com")) {
+ && request.url().host() == "api.curseforge.com") {
request.setRawHeader("x-api-key", APPLICATION->getFlameAPIKey().toUtf8());
+ } else if (request.url().host() == "api.modrinth.com") {
+ QString token = APPLICATION->getModrinthAPIToken();
+ if (!token.isNull())
+ request.setRawHeader("Authorization", token.toUtf8());
}
+
//TODO other types of post requests ?
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QNetworkReply* rep = m_network->post(request, m_post_data);