diff options
| author | Jeremy Rimpo <jrim@rimpo.org> | 2019-07-22 01:02:21 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-22 01:02:21 -0500 |
| commit | 1f1b838c2b3fd3148d2c2a1a8fe6fcf9fb07383f (patch) | |
| tree | 33c20c0cc6e5f0029558c8e8383a0fdf68571689 /src/nexusinterface.cpp | |
| parent | 613aa037cf8dc728eac474ee6cf6b790293d5114 (diff) | |
| parent | 2d78957c3d4c33de5813d7ee5b86dec8cb01478c (diff) | |
Merge pull request #796 from isanae/login-progress-dialog
Nexus login progress dialog and Nexus settings
Diffstat (limited to 'src/nexusinterface.cpp')
| -rw-r--r-- | src/nexusinterface.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/nexusinterface.cpp b/src/nexusinterface.cpp index ee9acf2c..2bcd72f3 100644 --- a/src/nexusinterface.cpp +++ b/src/nexusinterface.cpp @@ -208,12 +208,27 @@ APILimits NexusInterface::defaultAPILimits() APILimits NexusInterface::parseLimits(const QNetworkReply* reply) { + return parseLimits(reply->rawHeaderPairs()); +} + +APILimits NexusInterface::parseLimits( + const QList<QNetworkReply::RawHeaderPair>& headers) +{ APILimits limits; - limits.maxDailyRequests = reply->rawHeader("x-rl-daily-limit").toInt(); - limits.remainingDailyRequests = reply->rawHeader("x-rl-daily-remaining").toInt(); - limits.maxHourlyRequests = reply->rawHeader("x-rl-hourly-limit").toInt(); - limits.remainingHourlyRequests = reply->rawHeader("x-rl-hourly-remaining").toInt(); + for (const auto& pair : headers) { + const auto name = QString(pair.first).toLower(); + + if (name == "x-rl-daily-limit") { + limits.maxDailyRequests = pair.second.toInt(); + } else if (name == "x-rl-daily-remaining") { + limits.remainingDailyRequests = pair.second.toInt(); + } else if (name == "x-rl-hourly-limit") { + limits.maxHourlyRequests = pair.second.toInt(); + } else if (name == "x-rl-hourly-remaining") { + limits.remainingHourlyRequests = pair.second.toInt(); + } + } return limits; } @@ -765,7 +780,7 @@ void NexusInterface::nextRequest() QNetworkRequest request(url); request.setAttribute(QNetworkRequest::CacheSaveControlAttribute, false); request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork); - request.setRawHeader("APIKEY", m_AccessManager->apiKey().toUtf8()); + request.setRawHeader("APIKEY", m_User.apiKey().toUtf8()); request.setHeader(QNetworkRequest::KnownHeaders::UserAgentHeader, m_AccessManager->userAgent(info.m_SubModule)); request.setHeader(QNetworkRequest::KnownHeaders::ContentTypeHeader, "application/json"); request.setRawHeader("Protocol-Version", "1.0.0"); |
