mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 00:25:35 +08:00
refs #930, moved multipart functions to database utils and added support for compression
This commit is contained in:
committed by
Mathew Sutcliffe
parent
03cbdcddc2
commit
660798e43c
@@ -306,5 +306,50 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
return sApp && sApp->hasWebDataServices() && sApp->getWebDataServices()->hasDbAircraftData();
|
return sApp && sApp->hasWebDataServices() && sApp->getWebDataServices()->hasDbAircraftData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QUrlQuery &CDatabaseUtils::getCompressedQuery()
|
||||||
|
{
|
||||||
|
static const QUrlQuery q("compressed=true");
|
||||||
|
return q;
|
||||||
|
}
|
||||||
|
|
||||||
|
QHttpPart CDatabaseUtils::getJsonTextMultipart(const QJsonObject &json, bool compress)
|
||||||
|
{
|
||||||
|
const QByteArray bytes(QJsonDocument(json).toJson(QJsonDocument::Compact));
|
||||||
|
return getJsonTextMultipart(bytes, compress);
|
||||||
|
}
|
||||||
|
|
||||||
|
QHttpPart CDatabaseUtils::getJsonTextMultipart(const QJsonArray &json, bool compress)
|
||||||
|
{
|
||||||
|
const QByteArray bytes(QJsonDocument(json).toJson(QJsonDocument::Compact));
|
||||||
|
return getJsonTextMultipart(bytes, compress);
|
||||||
|
}
|
||||||
|
|
||||||
|
QHttpPart CDatabaseUtils::getJsonTextMultipart(const QByteArray &bytes, bool compress)
|
||||||
|
{
|
||||||
|
static const QString name("form-data; name=\"swiftjson\"");
|
||||||
|
static const QVariant header(name);
|
||||||
|
QHttpPart textPart;
|
||||||
|
textPart.setHeader(QNetworkRequest::ContentDispositionHeader, header);
|
||||||
|
if (compress)
|
||||||
|
{
|
||||||
|
QByteArray ba = qCompress(bytes);
|
||||||
|
ba.remove(0, 4); // remove the non standard header
|
||||||
|
textPart.setBody(ba);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
textPart.setBody(bytes);
|
||||||
|
}
|
||||||
|
return textPart;
|
||||||
|
}
|
||||||
|
|
||||||
|
QHttpPart CDatabaseUtils::getMultipartWithDebugFlag()
|
||||||
|
{
|
||||||
|
QHttpPart textPartDebug;
|
||||||
|
textPartDebug.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"XDEBUG_SESSION_START\""));
|
||||||
|
textPartDebug.setBody(QString("ECLIPSE_DBGP").toUtf8());
|
||||||
|
return textPartDebug;
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -15,6 +15,11 @@
|
|||||||
#include "blackcore/blackcoreexport.h"
|
#include "blackcore/blackcoreexport.h"
|
||||||
#include "blackcore/progress.h"
|
#include "blackcore/progress.h"
|
||||||
#include "blackmisc/simulation/aircraftmodel.h"
|
#include "blackmisc/simulation/aircraftmodel.h"
|
||||||
|
#include <QHttpPart>
|
||||||
|
#include <QUrlQuery>
|
||||||
|
#include <QByteArray>
|
||||||
|
#include <QJsonArray>
|
||||||
|
#include <QJsonObject>
|
||||||
|
|
||||||
namespace BlackCore
|
namespace BlackCore
|
||||||
{
|
{
|
||||||
@@ -69,6 +74,21 @@ namespace BlackCore
|
|||||||
|
|
||||||
//! Convenience function
|
//! Convenience function
|
||||||
static bool hasDbAircraftData();
|
static bool hasDbAircraftData();
|
||||||
|
|
||||||
|
//! Mark as compressed
|
||||||
|
static const QUrlQuery &getCompressedQuery();
|
||||||
|
|
||||||
|
//! Multipart for JSON
|
||||||
|
static QHttpPart getJsonTextMultipart(const QJsonObject &json, bool compress);
|
||||||
|
|
||||||
|
//! Multipart for JSON
|
||||||
|
static QHttpPart getJsonTextMultipart(const QJsonArray &json, bool compress);
|
||||||
|
|
||||||
|
//! Multipart for JSON
|
||||||
|
static QHttpPart getJsonTextMultipart(const QByteArray &bytes, bool compress);
|
||||||
|
|
||||||
|
//! Multipart with DEBUG FLAG for server
|
||||||
|
static QHttpPart getMultipartWithDebugFlag();
|
||||||
};
|
};
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -259,40 +259,11 @@ namespace BlackMisc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QHttpPart CNetworkUtils::getMultipartWithDebugFlag()
|
|
||||||
{
|
|
||||||
QHttpPart textPartDebug;
|
|
||||||
textPartDebug.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"XDEBUG_SESSION_START\""));
|
|
||||||
textPartDebug.setBody(QString("ECLIPSE_DBGP").toUtf8());
|
|
||||||
return textPartDebug;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CNetworkUtils::addDebugFlag(QUrlQuery &qurl)
|
void CNetworkUtils::addDebugFlag(QUrlQuery &qurl)
|
||||||
{
|
{
|
||||||
qurl.addQueryItem("XDEBUG_SESSION_START", "ECLIPSE_DBGP");
|
qurl.addQueryItem("XDEBUG_SESSION_START", "ECLIPSE_DBGP");
|
||||||
}
|
}
|
||||||
|
|
||||||
QHttpPart CNetworkUtils::getJsonTextMultipart(const QJsonObject &json)
|
|
||||||
{
|
|
||||||
const QByteArray bytes(QJsonDocument(json).toJson(QJsonDocument::Compact));
|
|
||||||
return getJsonTextMultipart(bytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
QHttpPart CNetworkUtils::getJsonTextMultipart(const QJsonArray &json)
|
|
||||||
{
|
|
||||||
const QByteArray bytes(QJsonDocument(json).toJson(QJsonDocument::Compact));
|
|
||||||
return getJsonTextMultipart(bytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
QHttpPart CNetworkUtils::getJsonTextMultipart(const QByteArray &bytes)
|
|
||||||
{
|
|
||||||
QHttpPart textPart;
|
|
||||||
QString name("form-data; name=\"swiftjson\"");
|
|
||||||
textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant(name));
|
|
||||||
textPart.setBody(bytes);
|
|
||||||
return textPart;
|
|
||||||
}
|
|
||||||
|
|
||||||
QNetworkRequest CNetworkUtils::getNetworkRequest(const CUrl &url, RequestType type)
|
QNetworkRequest CNetworkUtils::getNetworkRequest(const CUrl &url, RequestType type)
|
||||||
{
|
{
|
||||||
QNetworkRequest request(url.toQUrl());
|
QNetworkRequest request(url.toQUrl());
|
||||||
|
|||||||
@@ -15,10 +15,6 @@
|
|||||||
#include "blackmisc/blackmiscexport.h"
|
#include "blackmisc/blackmiscexport.h"
|
||||||
#include "blackmisc/network/urllist.h"
|
#include "blackmisc/network/urllist.h"
|
||||||
|
|
||||||
#include <QByteArray>
|
|
||||||
#include <QHttpPart>
|
|
||||||
#include <QJsonArray>
|
|
||||||
#include <QJsonObject>
|
|
||||||
#include <QNetworkRequest>
|
#include <QNetworkRequest>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
@@ -109,21 +105,9 @@ namespace BlackMisc
|
|||||||
//! Set swift client SSL certificate
|
//! Set swift client SSL certificate
|
||||||
static void setSwiftClientSslCertificate(QNetworkRequest &request, const BlackMisc::Network::CUrlList &swiftSharedUrls);
|
static void setSwiftClientSslCertificate(QNetworkRequest &request, const BlackMisc::Network::CUrlList &swiftSharedUrls);
|
||||||
|
|
||||||
//! Multipart with DEBUG FLAG for server
|
|
||||||
static QHttpPart getMultipartWithDebugFlag();
|
|
||||||
|
|
||||||
//! Add debug flag
|
//! Add debug flag
|
||||||
static void addDebugFlag(QUrlQuery &qurl);
|
static void addDebugFlag(QUrlQuery &qurl);
|
||||||
|
|
||||||
//! Multipart for JSON
|
|
||||||
static QHttpPart getJsonTextMultipart(const QJsonObject &json);
|
|
||||||
|
|
||||||
//! Multipart for JSON
|
|
||||||
static QHttpPart getJsonTextMultipart(const QJsonArray &json);
|
|
||||||
|
|
||||||
//! Multipart for JSON
|
|
||||||
static QHttpPart getJsonTextMultipart(const QByteArray &bytes);
|
|
||||||
|
|
||||||
//! Our tweaked network request
|
//! Our tweaked network request
|
||||||
static QNetworkRequest getNetworkRequest(const CUrl &url, RequestType type = Get);
|
static QNetworkRequest getNetworkRequest(const CUrl &url, RequestType type = Get);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user