Skip to content

Commit

Permalink
Port PollJob responses to Qt5's QJson #5710
Browse files Browse the repository at this point in the history
  • Loading branch information
ckamm authored and guruz committed May 8, 2017
1 parent 2598579 commit f1b42ce
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions src/libsync/propagateupload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@
#include "propagateremotedelete.h"
#include "asserts.h"

#include <json.h>
#include <QNetworkAccessManager>
#include <QFileInfo>
#include <QDir>
#include <QJsonDocument>
#include <QJsonObject>
#include <cmath>
#include <cstring>

Expand Down Expand Up @@ -141,26 +142,26 @@ bool PollJob::finished()
return false;
}

bool ok = false;
QByteArray jsonData = reply()->readAll().trimmed();
qDebug() << Q_FUNC_INFO << ">" << jsonData << "<" << reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
QVariantMap status = QtJson::parse(QString::fromUtf8(jsonData), ok).toMap();
if (!ok || status.isEmpty()) {
QJsonParseError jsonParseError;
QJsonObject status = QJsonDocument::fromJson(jsonData, &jsonParseError).object();
if (jsonParseError.error != QJsonParseError::NoError) {
_item->_errorString = tr("Invalid JSON reply from the poll URL");
_item->_status = SyncFileItem::NormalError;
emit finishedSignal();
return true;
}

if (status["unfinished"].isValid()) {
if (status["unfinished"].toBool()) {
start();
return false;
}

_item->_errorString = status["error"].toString();
_item->_status = _item->_errorString.isEmpty() ? SyncFileItem::Success : SyncFileItem::NormalError;
_item->_fileId = status["fileid"].toByteArray();
_item->_etag = status["etag"].toByteArray();
_item->_fileId = status["fileid"].toString().toUtf8();
_item->_etag = status["etag"].toString().toUtf8();
_item->_responseTimeStamp = responseTimestamp();

SyncJournalDb::PollInfo info;
Expand Down

0 comments on commit f1b42ce

Please sign in to comment.