Ref T160, improved / more detailed info for user-agent in requests

* renamed to getSwiftNetworkRequest (make clear request is tweaked)
* add details to user request
This commit is contained in:
Klaus Basan
2017-09-24 03:16:58 +02:00
parent efe5419e9a
commit dabe50bcfe
5 changed files with 24 additions and 15 deletions

View File

@@ -225,10 +225,10 @@ namespace BlackMisc
request.setSslConfiguration(conf);
}
void CNetworkUtils::setSwiftUserAgent(QNetworkRequest &request)
void CNetworkUtils::setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails)
{
static const QString userAgent("swift/" + CBuildConfig::getVersionString());
request.setRawHeader("User-Agent", userAgent.toLatin1());
static const QString defaultUserAgent("swift/" + CBuildConfig::getVersionString());
request.setRawHeader("User-Agent", userAgentDetails.isEmpty() ? defaultUserAgent.toLatin1() : QString("swift/" + userAgentDetails).toLatin1());
}
//! \cond PRIVATE
@@ -279,7 +279,7 @@ namespace BlackMisc
qurl.addQueryItem("XDEBUG_SESSION_START", "ECLIPSE_DBGP");
}
QNetworkRequest CNetworkUtils::getNetworkRequest(const CUrl &url, RequestType type)
QNetworkRequest CNetworkUtils::getSwiftNetworkRequest(const CUrl &url, RequestType type, const QString &userAgentDetails)
{
QNetworkRequest request(url.toQUrl());
switch (type)
@@ -291,10 +291,18 @@ namespace BlackMisc
break;
}
CNetworkUtils::ignoreSslVerification(request);
CNetworkUtils::setSwiftUserAgent(request);
CNetworkUtils::setSwiftUserAgent(request, userAgentDetails);
return request;
}
QNetworkRequest CNetworkUtils::getSwiftNetworkRequest(const QNetworkRequest &request, const QString &userAgentDetails)
{
QNetworkRequest req(request); // copy
CNetworkUtils::ignoreSslVerification(req);
CNetworkUtils::setSwiftUserAgent(req, userAgentDetails);
return req;
}
qint64 CNetworkUtils::lastModifiedMsSinceEpoch(QNetworkReply *nwReply)
{
Q_ASSERT(nwReply);

View File

@@ -106,7 +106,7 @@ namespace BlackMisc
static void ignoreSslVerification(QNetworkRequest &request);
//! Set user agent for request
static void setSwiftUserAgent(QNetworkRequest &request);
static void setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails = {});
//! Set swift client SSL certificate
static void setSwiftClientSslCertificate(QNetworkRequest &request);
@@ -117,8 +117,11 @@ namespace BlackMisc
//! Add debug flag
static void addDebugFlag(QUrlQuery &qurl);
//! Our tweaked network request
static QNetworkRequest getNetworkRequest(const CUrl &url, RequestType type = Get);
//! Our tweaked network request with swift header
static QNetworkRequest getSwiftNetworkRequest(const CUrl &url, RequestType type = Get, const QString &userAgentDetails = {});
//! Get a copied network request with swift header
static QNetworkRequest getSwiftNetworkRequest(const QNetworkRequest &request, const QString &userAgentDetails = {});
//! Last modified from reply
static qint64 lastModifiedMsSinceEpoch(QNetworkReply *nwReply);

View File

@@ -145,7 +145,7 @@ namespace BlackMisc
QNetworkRequest CUrl::toNetworkRequest() const
{
return CNetworkUtils::getNetworkRequest(*this);
return CNetworkUtils::getSwiftNetworkRequest(*this);
}
CUrl CUrl::withAppendedPath(const QString &path) const