MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / onRefreshFinished

Method onRefreshFinished

libraries/katabasis/src/DeviceFlow.cpp:401–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

399}
400
401void DeviceFlow::onRefreshFinished() {
402 QNetworkReply *refreshReply = qobject_cast<QNetworkReply *>(sender());
403
404 auto networkError = refreshReply->error();
405 if (networkError == QNetworkReply::NoError) {
406 QByteArray reply = refreshReply->readAll();
407 QVariantMap tokens = parseJsonResponse(reply);
408 setToken(tokens.value(OAUTH2_ACCESS_TOKEN).toString());
409 setExpires(QDateTime::currentDateTimeUtc().addSecs(tokens.value(OAUTH2_EXPIRES_IN).toInt()));
410 QString refreshToken = tokens.value(OAUTH2_REFRESH_TOKEN).toString();
411 if(!refreshToken.isEmpty()) {
412 setRefreshToken(refreshToken);
413 }
414 else {
415 qDebug() << "No new refresh token. Keep the old one.";
416 }
417 timedReplies_.remove(refreshReply);
418 refreshReply->deleteLater();
419 updateActivity(Activity::Succeeded);
420 qDebug() << "New token expires in" << expires() << "seconds";
421 } else {
422 // FIXME: differentiate the error more here
423 onRefreshError(networkError, refreshReply);
424 }
425}
426
427void DeviceFlow::onRefreshError(QNetworkReply::NetworkError error, QNetworkReply *refreshReply) {
428 QString errorString = "No Reply";

Callers

nothing calls this directly

Calls 5

parseJsonResponseFunction · 0.85
errorMethod · 0.80
isEmptyMethod · 0.80
toStringMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected