summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-02-05 13:53:07 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:31:19 -0600
commita873c7be23f270ab1a929aaf72aa03182e0ddc2c (patch)
tree0a002b7eba2c95b064d5f7e127eba25b2fa6fb29 /src
parent177f5c0446ab09f4010c86e9d8e1d3d02a8a76a9 (diff)
Simple updates API headers requested by Nexus
Diffstat (limited to 'src')
-rw-r--r--src/nexusinterface.cpp5
-rw-r--r--src/nxmaccessmanager.cpp15
2 files changed, 16 insertions, 4 deletions
diff --git a/src/nexusinterface.cpp b/src/nexusinterface.cpp
index bc45d8f6..f1fa252a 100644
--- a/src/nexusinterface.cpp
+++ b/src/nexusinterface.cpp
@@ -557,10 +557,11 @@ void NexusInterface::nextRequest()
url = info.m_URL;
}
QNetworkRequest request(url);
- request.setRawHeader("apikey", m_AccessManager->apiKey().toUtf8());
+ request.setRawHeader("APIKEY", m_AccessManager->apiKey().toUtf8());
request.setHeader(QNetworkRequest::KnownHeaders::UserAgentHeader, m_AccessManager->userAgent(info.m_SubModule));
request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/json");
- request.setRawHeader("Protocol-Version", "0.5.5");
+ request.setRawHeader("Protocol-Version", "1.0.0");
+ request.setRawHeader("Application-Name", "MO2");
request.setRawHeader("Application-Version", QApplication::applicationVersion().toUtf8());
if (postData.object().isEmpty())
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index 7ab474a7..1e0ac49b 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -122,7 +122,11 @@ void NXMAccessManager::startValidationCheck()
QNetworkRequest request(requestString);
request.setRawHeader("APIKEY", m_ApiKey.toUtf8());
- request.setRawHeader("User-Agent", userAgent().toUtf8());
+ request.setHeader(QNetworkRequest::KnownHeaders::UserAgentHeader, userAgent().toUtf8());
+ request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/json");
+ request.setRawHeader("Protocol-Version", "1.0.0");
+ request.setRawHeader("Application-Name", "MO2");
+ request.setRawHeader("Application-Version", m_MOVersion.toUtf8());
m_ProgressDialog = new QProgressDialog(nullptr);
m_ProgressDialog->setLabelText(tr("Validating Nexus Connection"));
@@ -192,12 +196,19 @@ void NXMAccessManager::apiCheck(const QString &apiKey)
QString NXMAccessManager::userAgent(const QString &subModule) const
{
QStringList comments;
+ QString os;
+ if (QSysInfo::productType() == "windows")
+ comments << ((QSysInfo::kernelType() == "winnt") ? "Windows_NT " : "Windows ") + QSysInfo::kernelVersion();
+ else
+ comments << QSysInfo::kernelType().left(1).toUpper() + QSysInfo::kernelType().mid(1)
+ << QSysInfo::productType().left(1).toUpper() + QSysInfo::kernelType().mid(1) + " " + QSysInfo::productVersion();
comments << "Nexus Client v" + m_NMMVersion;
if (!subModule.isEmpty()) {
comments << "module: " + subModule;
}
+ comments << ((QSysInfo::buildCpuArchitecture() == "x86_64") ? "x64" : "x86");
- return QString("Mod Organizer/%1 (%2)").arg(m_MOVersion, comments.join("; "));
+ return QString("Mod Organizer/%1 (%2) Qt/%3").arg(m_MOVersion, comments.join("; "), qVersion());
}