aboutsummaryrefslogtreecommitdiff
path: root/launcher/net
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2023-08-02 18:35:35 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2023-08-02 18:35:35 +0200
commit1d468ac35ad88d8c77cc83f25e3704d9bd7df01b (patch)
tree8644b1574c947a1a87c5c7b2567f746cfe17882f /launcher/net
parentce2ca1381519a2e261d7f76dffa874d559d979c2 (diff)
downloadPrismLauncher-1d468ac35ad88d8c77cc83f25e3704d9bd7df01b.tar.gz
PrismLauncher-1d468ac35ad88d8c77cc83f25e3704d9bd7df01b.tar.bz2
PrismLauncher-1d468ac35ad88d8c77cc83f25e3704d9bd7df01b.zip
chore: reformat
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Diffstat (limited to 'launcher/net')
-rw-r--r--launcher/net/Download.cpp5
-rw-r--r--launcher/net/HttpMetaCache.cpp5
-rw-r--r--launcher/net/Logging.h4
-rw-r--r--launcher/net/MetaCacheSink.cpp31
-rw-r--r--launcher/net/NetAction.h4
-rw-r--r--launcher/net/NetJob.h4
-rw-r--r--launcher/net/NetUtils.h37
-rw-r--r--launcher/net/PasteUpload.cpp255
-rw-r--r--launcher/net/PasteUpload.h28
-rw-r--r--launcher/net/Validator.h19
10 files changed, 180 insertions, 212 deletions
diff --git a/launcher/net/Download.cpp b/launcher/net/Download.cpp
index 4ea45c63..9ad49ded 100644
--- a/launcher/net/Download.cpp
+++ b/launcher/net/Download.cpp
@@ -146,7 +146,7 @@ void Download::executeTask()
m_reply.reset(rep);
connect(rep, &QNetworkReply::downloadProgress, this, &Download::downloadProgress);
connect(rep, &QNetworkReply::finished, this, &Download::downloadFinished);
-#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) // QNetworkReply::errorOccurred added in 5.15
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) // QNetworkReply::errorOccurred added in 5.15
connect(rep, &QNetworkReply::errorOccurred, this, &Download::downloadError);
#else
connect(rep, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error), this, &Download::downloadError);
@@ -174,8 +174,7 @@ void Download::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
if (elapsed_ms.count() > 0) {
auto str_eta = bytesTotal > 0 ? Time::humanReadableDuration(remaing_time_s) : tr("unknown");
//: Download speed, in bytes per second (remaining download time in parenthesis)
- dl_speed_str =
- tr("%1 /s (%2)").arg(StringUtils::humanReadableFileSize(dl_speed_bps)).arg(str_eta);
+ dl_speed_str = tr("%1 /s (%2)").arg(StringUtils::humanReadableFileSize(dl_speed_bps)).arg(str_eta);
} else {
//: Download speed at 0 bytes per second
dl_speed_str = tr("0 B/s");
diff --git a/launcher/net/HttpMetaCache.cpp b/launcher/net/HttpMetaCache.cpp
index 689dbac9..7809d40f 100644
--- a/launcher/net/HttpMetaCache.cpp
+++ b/launcher/net/HttpMetaCache.cpp
@@ -125,8 +125,9 @@ auto HttpMetaCache::resolveEntry(QString base, QString resource_path, QString ex
// Get rid of old entries, to prevent cache problems
auto current_time = QDateTime::currentSecsSinceEpoch();
- if (entry->isExpired(current_time - ( file_last_changed / 1000 ))) {
- qCWarning(taskNetLogC) << "[HttpMetaCache]" << "Removing cache entry because of old age!";
+ if (entry->isExpired(current_time - (file_last_changed / 1000))) {
+ qCWarning(taskNetLogC) << "[HttpMetaCache]"
+ << "Removing cache entry because of old age!";
selected_base.entry_list.remove(resource_path);
return staleEntry(base, resource_path);
}
diff --git a/launcher/net/Logging.h b/launcher/net/Logging.h
index b692e707..4deed2b4 100644
--- a/launcher/net/Logging.h
+++ b/launcher/net/Logging.h
@@ -16,8 +16,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
-
-#pragma once
+
+#pragma once
#include <QLoggingCategory>
diff --git a/launcher/net/MetaCacheSink.cpp b/launcher/net/MetaCacheSink.cpp
index e203bc06..889588a1 100644
--- a/launcher/net/MetaCacheSink.cpp
+++ b/launcher/net/MetaCacheSink.cpp
@@ -46,32 +46,27 @@ namespace Net {
/** Maximum time to hold a cache entry
* = 1 week in seconds
*/
-#define MAX_TIME_TO_EXPIRE 1*7*24*60*60
+#define MAX_TIME_TO_EXPIRE 1 * 7 * 24 * 60 * 60
-
-MetaCacheSink::MetaCacheSink(MetaEntryPtr entry, ChecksumValidator * md5sum, bool is_eternal)
- :Net::FileSink(entry->getFullPath()), m_entry(entry), m_md5Node(md5sum), m_is_eternal(is_eternal)
+MetaCacheSink::MetaCacheSink(MetaEntryPtr entry, ChecksumValidator* md5sum, bool is_eternal)
+ : Net::FileSink(entry->getFullPath()), m_entry(entry), m_md5Node(md5sum), m_is_eternal(is_eternal)
{
addValidator(md5sum);
}
Task::State MetaCacheSink::initCache(QNetworkRequest& request)
{
- if (!m_entry->isStale())
- {
+ if (!m_entry->isStale()) {
return Task::State::Succeeded;
}
// check if file exists, if it does, use its information for the request
QFile current(m_filename);
- if(current.exists() && current.size() != 0)
- {
- if (m_entry->getRemoteChangedTimestamp().size())
- {
+ if (current.exists() && current.size() != 0) {
+ if (m_entry->getRemoteChangedTimestamp().size()) {
request.setRawHeader(QString("If-Modified-Since").toLatin1(), m_entry->getRemoteChangedTimestamp().toLatin1());
}
- if (m_entry->getETag().size())
- {
+ if (m_entry->getETag().size()) {
request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->getETag().toLatin1());
}
}
@@ -79,25 +74,23 @@ Task::State MetaCacheSink::initCache(QNetworkRequest& request)
return Task::State::Running;
}
-Task::State MetaCacheSink::finalizeCache(QNetworkReply & reply)
+Task::State MetaCacheSink::finalizeCache(QNetworkReply& reply)
{
QFileInfo output_file_info(m_filename);
- if(wroteAnyData)
- {
+ if (wroteAnyData) {
m_entry->setMD5Sum(m_md5Node->hash().toHex().constData());
}
m_entry->setETag(reply.rawHeader("ETag").constData());
- if (reply.hasRawHeader("Last-Modified"))
- {
+ if (reply.hasRawHeader("Last-Modified")) {
m_entry->setRemoteChangedTimestamp(reply.rawHeader("Last-Modified").constData());
}
m_entry->setLocalChangedTimestamp(output_file_info.lastModified().toUTC().toMSecsSinceEpoch());
- { // Cache lifetime
+ { // Cache lifetime
if (m_is_eternal) {
qCDebug(taskMetaCacheLogC) << "Adding eternal cache entry:" << m_entry->getFullPath();
m_entry->makeEternal(true);
@@ -141,4 +134,4 @@ bool MetaCacheSink::hasLocalData()
QFileInfo info(m_filename);
return info.exists() && info.size() != 0;
}
-}
+} // namespace Net
diff --git a/launcher/net/NetAction.h b/launcher/net/NetAction.h
index ab9322c2..54eddc72 100644
--- a/launcher/net/NetAction.h
+++ b/launcher/net/NetAction.h
@@ -62,7 +62,8 @@ class NetAction : public Task {
virtual void downloadFinished() = 0;
virtual void downloadReadyRead() = 0;
- virtual void sslErrors(const QList<QSslError>& errors) {
+ virtual void sslErrors(const QList<QSslError>& errors)
+ {
int i = 1;
for (auto error : errors) {
qCritical() << "Network SSL Error #" << i << " : " << error.errorString();
@@ -70,7 +71,6 @@ class NetAction : public Task {
qCritical() << "Certificate in question:\n" << cert.toText();
i++;
}
-
};
public slots:
diff --git a/launcher/net/NetJob.h b/launcher/net/NetJob.h
index 764cec18..cc63f449 100644
--- a/launcher/net/NetJob.h
+++ b/launcher/net/NetJob.h
@@ -52,7 +52,9 @@ class NetJob : public ConcurrentTask {
public:
using Ptr = shared_qobject_ptr<NetJob>;
- explicit NetJob(QString job_name, shared_qobject_ptr<QNetworkAccessManager> network) : ConcurrentTask(nullptr, job_name), m_network(network) {}
+ explicit NetJob(QString job_name, shared_qobject_ptr<QNetworkAccessManager> network)
+ : ConcurrentTask(nullptr, job_name), m_network(network)
+ {}
~NetJob() override = default;
void startNext() override;
diff --git a/launcher/net/NetUtils.h b/launcher/net/NetUtils.h
index fa3bd8c0..afaf7b5f 100644
--- a/launcher/net/NetUtils.h
+++ b/launcher/net/NetUtils.h
@@ -22,23 +22,22 @@
#include <QSet>
namespace Net {
- inline bool isApplicationError(QNetworkReply::NetworkError x) {
- // Mainly taken from https://github.com/qt/qtbase/blob/dev/src/network/access/qhttpthreaddelegate.cpp
- static QSet<QNetworkReply::NetworkError> errors = {
- QNetworkReply::ProtocolInvalidOperationError,
- QNetworkReply::AuthenticationRequiredError,
- QNetworkReply::ContentAccessDenied,
- QNetworkReply::ContentNotFoundError,
- QNetworkReply::ContentOperationNotPermittedError,
- QNetworkReply::ProxyAuthenticationRequiredError,
- QNetworkReply::ContentConflictError,
- QNetworkReply::ContentGoneError,
- QNetworkReply::InternalServerError,
- QNetworkReply::OperationNotImplementedError,
- QNetworkReply::ServiceUnavailableError,
- QNetworkReply::UnknownServerError,
- QNetworkReply::UnknownContentError
- };
- return errors.contains(x);
- }
+inline bool isApplicationError(QNetworkReply::NetworkError x)
+{
+ // Mainly taken from https://github.com/qt/qtbase/blob/dev/src/network/access/qhttpthreaddelegate.cpp
+ static QSet<QNetworkReply::NetworkError> errors = { QNetworkReply::ProtocolInvalidOperationError,
+ QNetworkReply::AuthenticationRequiredError,
+ QNetworkReply::ContentAccessDenied,
+ QNetworkReply::ContentNotFoundError,
+ QNetworkReply::ContentOperationNotPermittedError,
+ QNetworkReply::ProxyAuthenticationRequiredError,
+ QNetworkReply::ContentConflictError,
+ QNetworkReply::ContentGoneError,
+ QNetworkReply::InternalServerError,
+ QNetworkReply::OperationNotImplementedError,
+ QNetworkReply::ServiceUnavailableError,
+ QNetworkReply::UnknownServerError,
+ QNetworkReply::UnknownContentError };
+ return errors.contains(x);
+}
} // namespace Net
diff --git a/launcher/net/PasteUpload.cpp b/launcher/net/PasteUpload.cpp
index 595279a3..c67d3b23 100644
--- a/launcher/net/PasteUpload.cpp
+++ b/launcher/net/PasteUpload.cpp
@@ -36,26 +36,26 @@
*/
#include "PasteUpload.h"
-#include "BuildConfig.h"
#include "Application.h"
+#include "BuildConfig.h"
#include <QDebug>
-#include <QJsonObject>
+#include <QFile>
#include <QHttpPart>
#include <QJsonArray>
#include <QJsonDocument>
-#include <QFile>
+#include <QJsonObject>
#include <QUrlQuery>
#include "net/Logging.h"
-std::array<PasteUpload::PasteTypeInfo, 4> PasteUpload::PasteTypes = {
- {{"0x0.st", "https://0x0.st", ""},
- {"hastebin", "https://hst.sh", "/documents"},
- {"paste.gg", "https://paste.gg", "/api/v1/pastes"},
- {"mclo.gs", "https://api.mclo.gs", "/1/log"}}};
+std::array<PasteUpload::PasteTypeInfo, 4> PasteUpload::PasteTypes = { { { "0x0.st", "https://0x0.st", "" },
+ { "hastebin", "https://hst.sh", "/documents" },
+ { "paste.gg", "https://paste.gg", "/api/v1/pastes" },
+ { "mclo.gs", "https://api.mclo.gs", "/1/log" } } };
-PasteUpload::PasteUpload(QWidget *window, QString text, QString baseUrl, PasteType pasteType) : m_window(window), m_baseUrl(baseUrl), m_pasteType(pasteType), m_text(text.toUtf8())
+PasteUpload::PasteUpload(QWidget* window, QString text, QString baseUrl, PasteType pasteType)
+ : m_window(window), m_baseUrl(baseUrl), m_pasteType(pasteType), m_text(text.toUtf8())
{
if (m_baseUrl == "")
m_baseUrl = PasteTypes.at(pasteType).defaultBase;
@@ -67,68 +67,64 @@ PasteUpload::PasteUpload(QWidget *window, QString text, QString baseUrl, PasteTy
m_uploadUrl = m_baseUrl + PasteTypes.at(pasteType).endpointPath;
}
-PasteUpload::~PasteUpload()
-{
-}
+PasteUpload::~PasteUpload() {}
void PasteUpload::executeTask()
{
- QNetworkRequest request{QUrl(m_uploadUrl)};
- QNetworkReply *rep{};
+ QNetworkRequest request{ QUrl(m_uploadUrl) };
+ QNetworkReply* rep{};
request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgentUncached().toUtf8());
switch (m_pasteType) {
- case NullPointer: {
- QHttpMultiPart *multiPart =
- new QHttpMultiPart{QHttpMultiPart::FormDataType};
+ case NullPointer: {
+ QHttpMultiPart* multiPart = new QHttpMultiPart{ QHttpMultiPart::FormDataType };
- QHttpPart filePart;
- filePart.setBody(m_text);
- filePart.setHeader(QNetworkRequest::ContentTypeHeader, "text/plain");
- filePart.setHeader(QNetworkRequest::ContentDispositionHeader,
- "form-data; name=\"file\"; filename=\"log.txt\"");
- multiPart->append(filePart);
+ QHttpPart filePart;
+ filePart.setBody(m_text);
+ filePart.setHeader(QNetworkRequest::ContentTypeHeader, "text/plain");
+ filePart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data; name=\"file\"; filename=\"log.txt\"");
+ multiPart->append(filePart);
- rep = APPLICATION->network()->post(request, multiPart);
- multiPart->setParent(rep);
+ rep = APPLICATION->network()->post(request, multiPart);
+ multiPart->setParent(rep);
- break;
- }
- case Hastebin: {
- request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgentUncached().toUtf8());
- rep = APPLICATION->network()->post(request, m_text);
- break;
- }
- case Mclogs: {
- QUrlQuery postData;
- postData.addQueryItem("content", m_text);
- request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
- rep = APPLICATION->network()->post(request, postData.toString().toUtf8());
- break;
- }
- case PasteGG: {
- QJsonObject obj;
- QJsonDocument doc;
- request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
-
- obj.insert("expires", QDateTime::currentDateTimeUtc().addDays(100).toString(Qt::DateFormat::ISODate));
-
- QJsonArray files;
- QJsonObject logFileInfo;
- QJsonObject logFileContentInfo;
- logFileContentInfo.insert("format", "text");
- logFileContentInfo.insert("value", QString::fromUtf8(m_text));
- logFileInfo.insert("name", "log.txt");
- logFileInfo.insert("content", logFileContentInfo);
- files.append(logFileInfo);
-
- obj.insert("files", files);
-
- doc.setObject(obj);
- rep = APPLICATION->network()->post(request, doc.toJson());
- break;
- }
+ break;
+ }
+ case Hastebin: {
+ request.setHeader(QNetworkRequest::UserAgentHeader, APPLICATION->getUserAgentUncached().toUtf8());
+ rep = APPLICATION->network()->post(request, m_text);
+ break;
+ }
+ case Mclogs: {
+ QUrlQuery postData;
+ postData.addQueryItem("content", m_text);
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
+ rep = APPLICATION->network()->post(request, postData.toString().toUtf8());
+ break;
+ }
+ case PasteGG: {
+ QJsonObject obj;
+ QJsonDocument doc;
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
+
+ obj.insert("expires", QDateTime::currentDateTimeUtc().addDays(100).toString(Qt::DateFormat::ISODate));
+
+ QJsonArray files;
+ QJsonObject logFileInfo;
+ QJsonObject logFileContentInfo;
+ logFileContentInfo.insert("format", "text");
+ logFileContentInfo.insert("value", QString::fromUtf8(m_text));
+ logFileInfo.insert("name", "log.txt");
+ logFileInfo.insert("content", logFileContentInfo);
+ files.append(logFileInfo);
+
+ obj.insert("files", files);
+
+ doc.setObject(obj);
+ rep = APPLICATION->network()->post(request, doc.toJson());
+ break;
+ }
}
connect(rep, &QNetworkReply::uploadProgress, this, &Task::setProgress);
@@ -140,7 +136,6 @@ void PasteUpload::executeTask()
connect(rep, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error), this, &PasteUpload::downloadError);
#endif
-
m_reply = std::shared_ptr<QNetworkReply>(rep);
setStatus(tr("Uploading to %1").arg(m_uploadUrl));
@@ -158,97 +153,81 @@ void PasteUpload::downloadFinished()
QByteArray data = m_reply->readAll();
int statusCode = m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
- if (m_reply->error() != QNetworkReply::NetworkError::NoError)
- {
+ if (m_reply->error() != QNetworkReply::NetworkError::NoError) {
emitFailed(tr("Network error: %1").arg(m_reply->errorString()));
m_reply.reset();
return;
- }
- else if (statusCode != 200 && statusCode != 201)
- {
+ } else if (statusCode != 200 && statusCode != 201) {
QString reasonPhrase = m_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString();
emitFailed(tr("Error: %1 returned unexpected status code %2 %3").arg(m_uploadUrl).arg(statusCode).arg(reasonPhrase));
- qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned unexpected status code " << statusCode << " with body: " << data;
+ qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned unexpected status code " << statusCode
+ << " with body: " << data;
m_reply.reset();
return;
}
- switch (m_pasteType)
- {
- case NullPointer:
- m_pasteLink = QString::fromUtf8(data).trimmed();
- break;
- case Hastebin: {
- QJsonDocument jsonDoc{QJsonDocument::fromJson(data)};
- QJsonObject jsonObj{jsonDoc.object()};
- if (jsonObj.contains("key") && jsonObj["key"].isString())
- {
- QString key = jsonDoc.object()["key"].toString();
- m_pasteLink = m_baseUrl + "/" + key;
- }
- else
- {
- emitFailed(tr("Error: %1 returned a malformed response body").arg(m_uploadUrl));
- qCCritical(taskUploadLogC) << getUid().toString() << getUid().toString() << m_uploadUrl << " returned malformed response body: " << data;
- return;
- }
- break;
- }
- case Mclogs: {
- QJsonDocument jsonDoc{QJsonDocument::fromJson(data)};
- QJsonObject jsonObj{jsonDoc.object()};
- if (jsonObj.contains("success") && jsonObj["success"].isBool())
- {
- bool success = jsonObj["success"].toBool();
- if (success)
- {
- m_pasteLink = jsonObj["url"].toString();
- }
- else
- {
- QString error = jsonObj["error"].toString();
- emitFailed(tr("Error: %1 returned an error: %2").arg(m_uploadUrl, error));
- qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned error: " << error;
- qCCritical(taskUploadLogC) << getUid().toString() << "Response body: " << data;
+ switch (m_pasteType) {
+ case NullPointer:
+ m_pasteLink = QString::fromUtf8(data).trimmed();
+ break;
+ case Hastebin: {
+ QJsonDocument jsonDoc{ QJsonDocument::fromJson(data) };
+ QJsonObject jsonObj{ jsonDoc.object() };
+ if (jsonObj.contains("key") && jsonObj["key"].isString()) {
+ QString key = jsonDoc.object()["key"].toString();
+ m_pasteLink = m_baseUrl + "/" + key;
+ } else {
+ emitFailed(tr("Error: %1 returned a malformed response body").arg(m_uploadUrl));
+ qCCritical(taskUploadLogC) << getUid().toString() << getUid().toString() << m_uploadUrl
+ << " returned malformed response body: " << data;
return;
}
+ break;
}
- else
- {
- emitFailed(tr("Error: %1 returned a malformed response body").arg(m_uploadUrl));
- qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned malformed response body: " << data;
- return;
- }
- break;
- }
- case PasteGG:
- QJsonDocument jsonDoc{QJsonDocument::fromJson(data)};
- QJsonObject jsonObj{jsonDoc.object()};
- if (jsonObj.contains("status") && jsonObj["status"].isString())
- {
- QString status = jsonObj["status"].toString();
- if (status == "success")
- {
- m_pasteLink = m_baseUrl + "/p/anonymous/" + jsonObj["result"].toObject()["id"].toString();
- }
- else
- {
- QString error = jsonObj["error"].toString();
- QString message = (jsonObj.contains("message") && jsonObj["message"].isString()) ? jsonObj["message"].toString() : "none";
- emitFailed(tr("Error: %1 returned an error code: %2\nError message: %3").arg(m_uploadUrl, error, message));
- qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned error: " << error;
- qCCritical(taskUploadLogC) << getUid().toString() << "Error message: " << message;
- qCCritical(taskUploadLogC) << getUid().toString() << "Response body: " << data;
+ case Mclogs: {
+ QJsonDocument jsonDoc{ QJsonDocument::fromJson(data) };
+ QJsonObject jsonObj{ jsonDoc.object() };
+ if (jsonObj.contains("success") && jsonObj["success"].isBool()) {
+ bool success = jsonObj["success"].toBool();
+ if (success) {
+ m_pasteLink = jsonObj["url"].toString();
+ } else {
+ QString error = jsonObj["error"].toString();
+ emitFailed(tr("Error: %1 returned an error: %2").arg(m_uploadUrl, error));
+ qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned error: " << error;
+ qCCritical(taskUploadLogC) << getUid().toString() << "Response body: " << data;
+ return;
+ }
+ } else {
+ emitFailed(tr("Error: %1 returned a malformed response body").arg(m_uploadUrl));
+ qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned malformed response body: " << data;
return;
}
+ break;
}
- else
- {
- emitFailed(tr("Error: %1 returned a malformed response body").arg(m_uploadUrl));
- qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned malformed response body: " << data;
- return;
- }
- break;
+ case PasteGG:
+ QJsonDocument jsonDoc{ QJsonDocument::fromJson(data) };
+ QJsonObject jsonObj{ jsonDoc.object() };
+ if (jsonObj.contains("status") && jsonObj["status"].isString()) {
+ QString status = jsonObj["status"].toString();
+ if (status == "success") {
+ m_pasteLink = m_baseUrl + "/p/anonymous/" + jsonObj["result"].toObject()["id"].toString();
+ } else {
+ QString error = jsonObj["error"].toString();
+ QString message =
+ (jsonObj.contains("message") && jsonObj["message"].isString()) ? jsonObj["message"].toString() : "none";
+ emitFailed(tr("Error: %1 returned an error code: %2\nError message: %3").arg(m_uploadUrl, error, message));
+ qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned error: " << error;
+ qCCritical(taskUploadLogC) << getUid().toString() << "Error message: " << message;
+ qCCritical(taskUploadLogC) << getUid().toString() << "Response body: " << data;
+ return;
+ }
+ } else {
+ emitFailed(tr("Error: %1 returned a malformed response body").arg(m_uploadUrl));
+ qCCritical(taskUploadLogC) << getUid().toString() << m_uploadUrl << " returned malformed response body: " << data;
+ return;
+ }
+ break;
}
emitSucceeded();
}
diff --git a/launcher/net/PasteUpload.h b/launcher/net/PasteUpload.h
index b72ab5b0..2ba6067c 100644
--- a/launcher/net/PasteUpload.h
+++ b/launcher/net/PasteUpload.h
@@ -35,17 +35,16 @@
#pragma once
-#include "tasks/Task.h"
+#include <QBuffer>
#include <QNetworkReply>
#include <QString>
-#include <QBuffer>
-#include <memory>
#include <array>
+#include <memory>
+#include "tasks/Task.h"
-class PasteUpload : public Task
-{
+class PasteUpload : public Task {
Q_OBJECT
-public:
+ public:
enum PasteType : int {
// 0x0.st
NullPointer,
@@ -68,26 +67,23 @@ public:
static std::array<PasteTypeInfo, 4> PasteTypes;
- PasteUpload(QWidget *window, QString text, QString url, PasteType pasteType);
+ PasteUpload(QWidget* window, QString text, QString url, PasteType pasteType);
virtual ~PasteUpload();
- QString pasteLink()
- {
- return m_pasteLink;
- }
-protected:
+ QString pasteLink() { return m_pasteLink; }
+
+ protected:
virtual void executeTask();
-private:
- QWidget *m_window;
+ private:
+ QWidget* m_window;
QString m_pasteLink;
QString m_baseUrl;
QString m_uploadUrl;
PasteType m_pasteType;
QByteArray m_text;
std::shared_ptr<QNetworkReply> m_reply;
-public
-slots:
+ public slots:
void downloadError(QNetworkReply::NetworkError);
void downloadFinished();
};
diff --git a/launcher/net/Validator.h b/launcher/net/Validator.h
index 6b3d4635..105a233c 100644
--- a/launcher/net/Validator.h
+++ b/launcher/net/Validator.h
@@ -37,16 +37,15 @@
#include "net/NetAction.h"
namespace Net {
-class Validator
-{
-public: /* con/des */
- Validator() {};
- virtual ~Validator() {};
+class Validator {
+ public: /* con/des */
+ Validator(){};
+ virtual ~Validator(){};
-public: /* methods */
- virtual bool init(QNetworkRequest & request) = 0;
- virtual bool write(QByteArray & data) = 0;
+ public: /* methods */
+ virtual bool init(QNetworkRequest& request) = 0;
+ virtual bool write(QByteArray& data) = 0;
virtual bool abort() = 0;
- virtual bool validate(QNetworkReply & reply) = 0;
+ virtual bool validate(QNetworkReply& reply) = 0;
};
-}
+} // namespace Net