mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-23 13:55:36 +08:00
Issue #77 Break dependency of CNetworkUtils on CUrl and CUrlList
This commit is contained in:
@@ -84,10 +84,10 @@ namespace BlackMisc
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CNetworkUtils::canPing(const CUrl &url)
|
bool CNetworkUtils::canPing(const QUrl &url)
|
||||||
{
|
{
|
||||||
if (url.isEmpty()) { return false; }
|
if (url.isEmpty()) { return false; }
|
||||||
return CNetworkUtils::canPing(url.getHost());
|
return CNetworkUtils::canPing(url.host());
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList CNetworkUtils::getKnownLocalIpV4Addresses()
|
QStringList CNetworkUtils::getKnownLocalIpV4Addresses()
|
||||||
@@ -179,17 +179,6 @@ namespace BlackMisc
|
|||||||
return canConnect(url, m, timeoutMs);
|
return canConnect(url, m, timeoutMs);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CNetworkUtils::canConnect(const CUrl &url, QString &message, int timeoutMs)
|
|
||||||
{
|
|
||||||
return canConnect(url.getHost(), url.getPort(), message, timeoutMs);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CNetworkUtils::canConnect(const CUrl &url, int timeoutMs)
|
|
||||||
{
|
|
||||||
QString m;
|
|
||||||
return canConnect(url, m, timeoutMs);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CNetworkUtils::isValidIPv4Address(const QString &candidate)
|
bool CNetworkUtils::isValidIPv4Address(const QString &candidate)
|
||||||
{
|
{
|
||||||
QHostAddress address(candidate);
|
QHostAddress address(candidate);
|
||||||
@@ -262,37 +251,14 @@ namespace BlackMisc
|
|||||||
}
|
}
|
||||||
//! \endcond
|
//! \endcond
|
||||||
|
|
||||||
void CNetworkUtils::setSwiftClientSslCertificate(QNetworkRequest &request)
|
|
||||||
{
|
|
||||||
static const QSslKey privateKey(loadPrivateSslKey());
|
|
||||||
static const QSslCertificate certificate(loadSslCertifcate());
|
|
||||||
QSslConfiguration sslConfiguration = request.sslConfiguration();
|
|
||||||
sslConfiguration.setPrivateKey(privateKey);
|
|
||||||
sslConfiguration.setLocalCertificate(certificate);
|
|
||||||
request.setSslConfiguration(sslConfiguration);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CNetworkUtils::setSwiftClientSslCertificate(QNetworkRequest &request, const CUrlList &swiftSharedUrls)
|
|
||||||
{
|
|
||||||
for (const CUrl &sharedUrl : swiftSharedUrls)
|
|
||||||
{
|
|
||||||
const QString urlString = request.url().toString();
|
|
||||||
if (urlString.startsWith(sharedUrl.toQString()))
|
|
||||||
{
|
|
||||||
CNetworkUtils::setSwiftClientSslCertificate(request);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void CNetworkUtils::addDebugFlag(QUrlQuery &qurl)
|
void CNetworkUtils::addDebugFlag(QUrlQuery &qurl)
|
||||||
{
|
{
|
||||||
qurl.addQueryItem("XDEBUG_SESSION_START", "ECLIPSE_DBGP");
|
qurl.addQueryItem("XDEBUG_SESSION_START", "ECLIPSE_DBGP");
|
||||||
}
|
}
|
||||||
|
|
||||||
QNetworkRequest CNetworkUtils::getSwiftNetworkRequest(const CUrl &url, RequestType type, const QString &userAgentDetails)
|
QNetworkRequest CNetworkUtils::getSwiftNetworkRequest(const QUrl &url, RequestType type, const QString &userAgentDetails)
|
||||||
{
|
{
|
||||||
QNetworkRequest request(url.toQUrl());
|
QNetworkRequest request(url);
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case PostUrlEncoded:
|
case PostUrlEncoded:
|
||||||
@@ -397,17 +363,17 @@ namespace BlackMisc
|
|||||||
|
|
||||||
CStatusMessageList CNetworkUtils::createNetworkReport(const QNetworkAccessManager *am)
|
CStatusMessageList CNetworkUtils::createNetworkReport(const QNetworkAccessManager *am)
|
||||||
{
|
{
|
||||||
return CNetworkUtils::createNetworkReport(CUrl(), am);
|
return CNetworkUtils::createNetworkReport(QUrl(), am);
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatusMessageList CNetworkUtils::createNetworkReport(const CUrl &url, const QNetworkAccessManager *qam)
|
CStatusMessageList CNetworkUtils::createNetworkReport(const QUrl &url, const QNetworkAccessManager *qam)
|
||||||
{
|
{
|
||||||
static const CLogCategoryList cats({CLogCategories::network()});
|
static const CLogCategoryList cats({CLogCategories::network()});
|
||||||
CStatusMessageList msgs;
|
CStatusMessageList msgs;
|
||||||
|
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
{
|
{
|
||||||
const QString host = url.getHost();
|
const QString host = url.host();
|
||||||
const bool canPing = CNetworkUtils::canPing(host);
|
const bool canPing = CNetworkUtils::canPing(host);
|
||||||
const CStatusMessage ping(cats, canPing ? CStatusMessage::SeverityInfo : CStatusMessage::SeverityError, "Host: " + host + " ping: " + boolToYesNo(canPing));
|
const CStatusMessage ping(cats, canPing ? CStatusMessage::SeverityInfo : CStatusMessage::SeverityError, "Host: " + host + " ping: " + boolToYesNo(canPing));
|
||||||
msgs.push_back(ping);
|
msgs.push_back(ping);
|
||||||
@@ -416,11 +382,11 @@ namespace BlackMisc
|
|||||||
const bool canConnect = CNetworkUtils::canConnect(url, msg, getTimeoutMs() * 2);
|
const bool canConnect = CNetworkUtils::canConnect(url, msg, getTimeoutMs() * 2);
|
||||||
if (canConnect)
|
if (canConnect)
|
||||||
{
|
{
|
||||||
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityInfo, u"Can connect to " % url.getFullUrl()));
|
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityInfo, u"Can connect to " % url.toString()));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Cannot connect to " % url.getFullUrl() % u" msg: " % msg));
|
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Cannot connect to " % url.toString() % u" msg: " % msg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
#ifndef BLACKMISC_NETWORKUTILS_H
|
#ifndef BLACKMISC_NETWORKUTILS_H
|
||||||
#define BLACKMISC_NETWORKUTILS_H
|
#define BLACKMISC_NETWORKUTILS_H
|
||||||
|
|
||||||
#include "blackmisc/network/urllist.h"
|
|
||||||
#include "blackmisc/blackmiscexport.h"
|
#include "blackmisc/blackmiscexport.h"
|
||||||
#include "blackmisc/statusmessagelist.h"
|
#include "blackmisc/statusmessagelist.h"
|
||||||
|
|
||||||
@@ -25,7 +24,6 @@
|
|||||||
|
|
||||||
class QHttpPart;
|
class QHttpPart;
|
||||||
class QNetworkReply;
|
class QNetworkReply;
|
||||||
class QUrl;
|
|
||||||
class QUrlQuery;
|
class QUrlQuery;
|
||||||
|
|
||||||
namespace BlackMisc
|
namespace BlackMisc
|
||||||
@@ -58,7 +56,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Can ping the address?
|
//! Can ping the address?
|
||||||
//! \note uses OS ping
|
//! \note uses OS ping
|
||||||
static bool canPing(const BlackMisc::Network::CUrl &url);
|
static bool canPing(const QUrl &url);
|
||||||
|
|
||||||
//! Can connect?
|
//! Can connect?
|
||||||
//! \param hostAddress 130.4.20.3, or myserver.com
|
//! \param hostAddress 130.4.20.3, or myserver.com
|
||||||
@@ -82,12 +80,6 @@ namespace BlackMisc
|
|||||||
//! Can connect to URL?
|
//! Can connect to URL?
|
||||||
static bool canConnect(const QUrl &url, int timeoutMs = getTimeoutMs());
|
static bool canConnect(const QUrl &url, int timeoutMs = getTimeoutMs());
|
||||||
|
|
||||||
//! Can connect to URL?
|
|
||||||
static bool canConnect(const BlackMisc::Network::CUrl &url, QString &message, int timeoutMs = getTimeoutMs());
|
|
||||||
|
|
||||||
//! Can connect to URL?
|
|
||||||
static bool canConnect(const BlackMisc::Network::CUrl &url, int timeoutMs = getTimeoutMs());
|
|
||||||
|
|
||||||
//! Find out my IPv4 addresses including loopback, empty if not possible
|
//! Find out my IPv4 addresses including loopback, empty if not possible
|
||||||
static QStringList getKnownLocalIpV4Addresses();
|
static QStringList getKnownLocalIpV4Addresses();
|
||||||
|
|
||||||
@@ -109,17 +101,11 @@ namespace BlackMisc
|
|||||||
//! Set user agent for request
|
//! Set user agent for request
|
||||||
static void setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails = {});
|
static void setSwiftUserAgent(QNetworkRequest &request, const QString &userAgentDetails = {});
|
||||||
|
|
||||||
//! Set swift client SSL certificate
|
|
||||||
static void setSwiftClientSslCertificate(QNetworkRequest &request);
|
|
||||||
|
|
||||||
//! Set swift client SSL certificate
|
|
||||||
static void setSwiftClientSslCertificate(QNetworkRequest &request, const BlackMisc::Network::CUrlList &swiftSharedUrls);
|
|
||||||
|
|
||||||
//! Add debug flag
|
//! Add debug flag
|
||||||
static void addDebugFlag(QUrlQuery &qurl);
|
static void addDebugFlag(QUrlQuery &qurl);
|
||||||
|
|
||||||
//! Our tweaked network request with swift header
|
//! Our tweaked network request with swift header
|
||||||
static QNetworkRequest getSwiftNetworkRequest(const CUrl &url, RequestType type = Get, const QString &userAgentDetails = {});
|
static QNetworkRequest getSwiftNetworkRequest(const QUrl &url, RequestType type = Get, const QString &userAgentDetails = {});
|
||||||
|
|
||||||
//! Get a copied network request with swift header
|
//! Get a copied network request with swift header
|
||||||
static QNetworkRequest getSwiftNetworkRequest(const QNetworkRequest &request, const QString &userAgentDetails = {});
|
static QNetworkRequest getSwiftNetworkRequest(const QNetworkRequest &request, const QString &userAgentDetails = {});
|
||||||
@@ -161,7 +147,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Status about network, can be used when an URL fails to resolve issues
|
//! Status about network, can be used when an URL fails to resolve issues
|
||||||
//! \remark that can take a moment to complete, as it checks network
|
//! \remark that can take a moment to complete, as it checks network
|
||||||
static BlackMisc::CStatusMessageList createNetworkReport(const CUrl &url, const QNetworkAccessManager *qam = nullptr);
|
static BlackMisc::CStatusMessageList createNetworkReport(const QUrl &url, const QNetworkAccessManager *qam = nullptr);
|
||||||
|
|
||||||
//! Info about network configurations
|
//! Info about network configurations
|
||||||
static QString createNetworkConfigurationReport(const QNetworkConfigurationManager *qcm, const QNetworkAccessManager *qam, const QString &separator = "\n");
|
static QString createNetworkConfigurationReport(const QNetworkConfigurationManager *qcm, const QNetworkAccessManager *qam, const QString &separator = "\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user