mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 21:35:47 +03:00
Discovery: Explicitly check for XML parser errors
..instead of relying that our state machine does not do anything in that case.
This commit is contained in:
parent
9d5f5ea3bc
commit
9ffacd4ecd
1 changed files with 13 additions and 3 deletions
|
@ -400,6 +400,9 @@ static QString readContentsAsString(QXmlStreamReader &reader) {
|
|||
return result;
|
||||
}
|
||||
|
||||
// TODO: Instead of doing all in this slot, we should iteratively parse in readyRead(). This
|
||||
// would allow us to be more asynchronous in processing while data is coming from the network,
|
||||
// not in all in one big blobb at the end.
|
||||
bool LsColJob::finished()
|
||||
{
|
||||
QString contentType = reply()->header(QNetworkRequest::ContentTypeHeader).toString();
|
||||
|
@ -479,13 +482,20 @@ bool LsColJob::finished()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (reader.hasError()) {
|
||||
// XML Parser error? Whatever had been emitted before will come as directoryListingIterated
|
||||
qDebug() << "ERROR" << reader.errorString();
|
||||
emit finishedWithError(reply());
|
||||
} else {
|
||||
emit directoryListingSubfolders(folders);
|
||||
emit finishedWithoutError();
|
||||
}
|
||||
} else if (httpCode == 207) {
|
||||
// wrong content type
|
||||
emit finishedWithError(reply());
|
||||
} else {
|
||||
// wrong HTTP code
|
||||
// wrong HTTP code or any other network error
|
||||
emit finishedWithError(reply());
|
||||
}
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue