mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
Ref T149, improved error message for JsonDatastoreResponse able to catch PHP error messages
This commit is contained in:
committed by
Mathew Sutcliffe
parent
0cf308450e
commit
8c68f2302c
@@ -660,16 +660,34 @@ namespace BlackCore
|
|||||||
|
|
||||||
void CDatabaseReader::stringToDatastoreResponse(const QString &jsonContent, JsonDatastoreResponse &datastoreResponse)
|
void CDatabaseReader::stringToDatastoreResponse(const QString &jsonContent, JsonDatastoreResponse &datastoreResponse)
|
||||||
{
|
{
|
||||||
|
const int status = datastoreResponse.getHttpStatusCode();
|
||||||
if (jsonContent.isEmpty())
|
if (jsonContent.isEmpty())
|
||||||
{
|
{
|
||||||
datastoreResponse.setMessage(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, "Empty string, no data"));
|
static const QString errorMsg = "Empty JSON string, status: %1, URL: '%2', load time: %3";
|
||||||
|
datastoreResponse.setMessage(CStatusMessage(getLogCategories(),
|
||||||
|
CStatusMessage::SeverityError,
|
||||||
|
errorMsg.arg(status).arg(datastoreResponse.getUrlString(), datastoreResponse.getLoadTimeStringWithStartedHint())));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QJsonDocument jsonResponse = CDatabaseUtils::databaseJsonToQJsonDocument(jsonContent);
|
const QJsonDocument jsonResponse = CDatabaseUtils::databaseJsonToQJsonDocument(jsonContent);
|
||||||
if (jsonResponse.isEmpty())
|
if (jsonResponse.isEmpty())
|
||||||
{
|
{
|
||||||
datastoreResponse.setMessage(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, "Empty JSON, no data"));
|
if (CNetworkUtils::looksLikePhpErrorMessage(jsonContent))
|
||||||
|
{
|
||||||
|
static const QString errorMsg = "Looks like PHP errror, status %1, URL: '%2', msg: %3";
|
||||||
|
const QString phpErrorMessage = CNetworkUtils::removeHtmlPartsFromPhpErrorMessage(jsonContent);
|
||||||
|
datastoreResponse.setMessage(CStatusMessage(getLogCategories(),
|
||||||
|
CStatusMessage::SeverityError,
|
||||||
|
errorMsg.arg(status).arg(datastoreResponse.getUrlString(), phpErrorMessage)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
static const QString errorMsg = "Empty JSON document, URL: '%1', load time: %2";
|
||||||
|
datastoreResponse.setMessage(CStatusMessage(getLogCategories(),
|
||||||
|
CStatusMessage::SeverityError,
|
||||||
|
errorMsg.arg(datastoreResponse.getUrlString(), datastoreResponse.getLoadTimeStringWithStartedHint())));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user