Added a protection against giving a mod url
Signed-off-by: timoreo <contact@timoreo.fr>
This commit is contained in:
parent
63c21c53af
commit
565202c990
@ -106,14 +106,21 @@ void InstanceImportTask::executeTask()
|
|||||||
connect(req, &NetJob::failed, this, &InstanceImportTask::downloadFailed);
|
connect(req, &NetJob::failed, this, &InstanceImportTask::downloadFailed);
|
||||||
connect(req, &NetJob::succeeded, [array, this] {
|
connect(req, &NetJob::succeeded, [array, this] {
|
||||||
auto doc = Json::requireDocument(*array);
|
auto doc = Json::requireDocument(*array);
|
||||||
// Have to use ensureString then use QUrl to get proper url encoding
|
// No way to find out if it's a mod or a modpack before here
|
||||||
m_sourceUrl = QUrl(
|
// And also we need to check if it ends with .zip, instead of any better way
|
||||||
Json::ensureString(Json::ensureObject(Json::ensureObject(doc.object()), "data"), "downloadUrl", "", "downloadUrl"));
|
auto fileName = Json::ensureString(Json::ensureObject(Json::ensureObject(doc.object()), "data"), "fileName");
|
||||||
if (!m_sourceUrl.isValid()) {
|
if (fileName.endsWith(".zip")) {
|
||||||
emitFailed(tr("The modpack is blocked ! Please download it manually"));
|
// Have to use ensureString then use QUrl to get proper url encoding
|
||||||
return;
|
m_sourceUrl = QUrl(
|
||||||
|
Json::ensureString(Json::ensureObject(Json::ensureObject(doc.object()), "data"), "downloadUrl", "", "downloadUrl"));
|
||||||
|
if (!m_sourceUrl.isValid()) {
|
||||||
|
emitFailed(tr("The modpack is blocked ! Please download it manually"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
downloadFromUrl();
|
||||||
|
} else {
|
||||||
|
emitFailed(tr("This url isn't a valid modpack !"));
|
||||||
}
|
}
|
||||||
downloadFromUrl();
|
|
||||||
});
|
});
|
||||||
connect(req, &NetJob::progress, this, &InstanceImportTask::downloadProgressChanged);
|
connect(req, &NetJob::progress, this, &InstanceImportTask::downloadProgressChanged);
|
||||||
connect(req, &NetJob::stepProgress, this, &InstanceImportTask::propogateStepProgress);
|
connect(req, &NetJob::stepProgress, this, &InstanceImportTask::propogateStepProgress);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user