mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 15:10:40 +02:00
added status() and networkReply() to Request
This commit is contained in:
parent
a7831cae9c
commit
a80552654b
@ -64,7 +64,7 @@ public:
|
||||
|
||||
/**
|
||||
* @brief User specific consumer of logger messages
|
||||
* @param consumer - sublass of serversdk::Loger
|
||||
* @param consumer - sublass of serversdk::Logger
|
||||
*
|
||||
* @code
|
||||
* #include "core.h"
|
||||
@ -90,7 +90,7 @@ public:
|
||||
*/
|
||||
static void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg);
|
||||
|
||||
/** Pusing messges from installed message handler */
|
||||
/** Pushing messges from installed message handler */
|
||||
virtual void pushMessage(const LoggerMessage& logmsg);
|
||||
QList<serversdk::LoggerMessage> getNewMessages(int currentCount);
|
||||
|
||||
|
||||
@ -13,6 +13,8 @@ Request::Request(QString type, QString url, QByteArray requestData)
|
||||
|
||||
Request::~Request()
|
||||
{
|
||||
if (mNetworkReply)
|
||||
mNetworkReply->deleteLater();
|
||||
}
|
||||
|
||||
QNetworkRequest Request::networkRequest() const
|
||||
@ -36,12 +38,29 @@ QNetworkRequest Request::networkRequest() const
|
||||
return request;
|
||||
}
|
||||
|
||||
int Request::status() const
|
||||
{
|
||||
Q_ASSERT(mNetworkReply);
|
||||
return mNetworkReply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
|
||||
}
|
||||
|
||||
|
||||
void Request::appendData(const QByteArray &array)
|
||||
{
|
||||
mResponseData += array;
|
||||
}
|
||||
|
||||
void Request::setNetworkReply(QNetworkReply *networkReply)
|
||||
{
|
||||
Q_ASSERT(networkReply);
|
||||
mNetworkReply = networkReply;
|
||||
}
|
||||
|
||||
QNetworkReply *Request::networkReply() const
|
||||
{
|
||||
return mNetworkReply;
|
||||
}
|
||||
|
||||
QString Request::type() const
|
||||
{
|
||||
return mType;
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
#include <QString>
|
||||
#include <QNetworkRequest>
|
||||
#include <QDateTime>
|
||||
#include <QNetworkReply>
|
||||
|
||||
namespace serversdk {
|
||||
|
||||
@ -17,6 +18,9 @@ public:
|
||||
virtual QNetworkRequest networkRequest() const;
|
||||
|
||||
// Data handling data
|
||||
int status() const;
|
||||
QNetworkReply *networkReply() const;
|
||||
void setNetworkReply(QNetworkReply *networkReply);
|
||||
QByteArray requestData() const;
|
||||
void setRequestData(const QByteArray &requestData);
|
||||
QByteArray responseData() const;
|
||||
@ -43,7 +47,6 @@ public:
|
||||
void logStartTime() { mStartTime = QDateTime::currentDateTime(); }
|
||||
void logFinishTime() { mStartTime = QDateTime::currentDateTime(); }
|
||||
|
||||
|
||||
private:
|
||||
// Data handling
|
||||
void appendData(const QByteArray &array);
|
||||
@ -62,12 +65,15 @@ private:
|
||||
QString mToken;
|
||||
|
||||
// Data
|
||||
QNetworkReply *mNetworkReply = nullptr;
|
||||
QByteArray mRequestData;
|
||||
QByteArray mResponseData;
|
||||
|
||||
// Additional attributes
|
||||
QDateTime mStartTime;
|
||||
QDateTime mFinishTime;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -45,6 +45,11 @@ void RequestManager::processRequest(const std::shared_ptr<Request>& request)
|
||||
return;
|
||||
}
|
||||
|
||||
// Adding reply to final request
|
||||
reply->setParent(nullptr); // ensure QNetworkreply wont be deleted by QNetworkAccessManager ( it is parent of reply )
|
||||
request->setNetworkReply(reply);
|
||||
|
||||
// Add to map to get correct request when reply is used in signal
|
||||
mRequestMap.insert(reply, request);
|
||||
|
||||
connect(reply, &QNetworkReply::sslErrors, this, &RequestManager::sslErrors);
|
||||
@ -54,7 +59,6 @@ void RequestManager::processRequest(const std::shared_ptr<Request>& request)
|
||||
std::shared_ptr<Request> request = mRequestMap.value(reply);
|
||||
request->logFinishTime();
|
||||
mRequestMap.remove(reply);
|
||||
reply->deleteLater();
|
||||
emit request->finished();
|
||||
emit downloadFinished(request);
|
||||
});
|
||||
|
||||
@ -109,12 +109,15 @@ void SoapTest::public_soap_test()
|
||||
// RequestManagerdownload
|
||||
RequestManager soap;
|
||||
soap.processRequest(req);
|
||||
QCOMPARE(req->status(), 0); // when not processed yet, status is 0
|
||||
|
||||
QSignalSpy progressSpy(&soap, &RequestManager::progresss);
|
||||
QSignalSpy finishedSpy(&soap, &RequestManager::downloadFinished);
|
||||
QVERIFY(finishedSpy.wait(20000));
|
||||
QVERIFY(progressSpy.count());
|
||||
|
||||
QCOMPARE(req->status(), 200);
|
||||
|
||||
//Uncoment to write .xml response to cmd folder
|
||||
// QFile fileWrite(Utils::sourcePath("test/cmd/tst_soap-response.xml"));
|
||||
// QVERIFY(fileWrite.open(QIODevice::WriteOnly));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user