aboutsummaryrefslogtreecommitdiff
path: root/jobs/basejob.cpp
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-09-19 18:08:57 +0900
committerKitsune Ral <Kitsune-Ral@users.sf.net>2017-09-19 18:08:57 +0900
commit35ef29ead1da906e4978dcd908e7c1513ac9bfd3 (patch)
tree0e784f13ec837b9dd6f40e07423e0a3eb8012256 /jobs/basejob.cpp
parentc5c26ff4a09eecaa6d8e1507087566ccf0fd96b4 (diff)
parent0b11b06379fe668063ea5658a261f53f1dcf117a (diff)
downloadlibquotient-35ef29ead1da906e4978dcd908e7c1513ac9bfd3.tar.gz
libquotient-35ef29ead1da906e4978dcd908e7c1513ac9bfd3.zip
Merge branch 'master' into cache-state-to-json
Diffstat (limited to 'jobs/basejob.cpp')
-rw-r--r--jobs/basejob.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/jobs/basejob.cpp b/jobs/basejob.cpp
index 26ceb268..3057ed75 100644
--- a/jobs/basejob.cpp
+++ b/jobs/basejob.cpp
@@ -24,6 +24,7 @@
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
#include <QtCore/QTimer>
+#include <QtCore/QStringBuilder>
#include <array>
@@ -76,7 +77,7 @@ class BaseJob::Private
inline QDebug operator<<(QDebug dbg, const BaseJob* j)
{
- return dbg << "Job" << j->objectName();
+ return dbg << j->objectName();
}
BaseJob::BaseJob(const ConnectionData* connection, HttpVerb verb,
@@ -89,7 +90,6 @@ BaseJob::BaseJob(const ConnectionData* connection, HttpVerb verb,
connect (&d->timer, &QTimer::timeout, this, &BaseJob::timeout);
d->retryTimer.setSingleShot(true);
connect (&d->retryTimer, &QTimer::timeout, this, &BaseJob::start);
- qCDebug(d->logCat) << this << "created";
}
BaseJob::~BaseJob()
@@ -159,6 +159,8 @@ void BaseJob::start()
{
emit aboutToStart();
d->retryTimer.stop(); // In case we were counting down at the moment
+ qCDebug(d->logCat) << this << "sending request to"
+ << d->apiEndpoint % '?' % d->requestQuery.toString();
d->sendRequest();
connect( d->reply.data(), &QNetworkReply::sslErrors, this, &BaseJob::sslErrors );
connect( d->reply.data(), &QNetworkReply::finished, this, &BaseJob::gotReply );
@@ -219,16 +221,17 @@ BaseJob::Status BaseJob::parseJson(const QJsonDocument&)
void BaseJob::stop()
{
d->timer.stop();
- if (!d->reply)
+ if (d->reply)
{
- qCWarning(d->logCat) << this << "stopped with empty network reply";
- }
- else if (d->reply->isRunning())
- {
- qCWarning(d->logCat) << this << "stopped without ready network reply";
d->reply->disconnect(this); // Ignore whatever comes from the reply
- d->reply->abort();
+ if (d->reply->isRunning())
+ {
+ qCWarning(d->logCat) << this << "stopped without ready network reply";
+ d->reply->abort();
+ }
}
+ else
+ qCWarning(d->logCat) << this << "stopped with empty network reply";
}
void BaseJob::finishJob()
@@ -320,6 +323,9 @@ void BaseJob::setStatus(int code, QString message)
void BaseJob::abandon()
{
+ this->disconnect();
+ if (d->reply)
+ d->reply->disconnect(this);
deleteLater();
}