From e0174e9ddcc0202849d09ce29f396d638333010b Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Wed, 20 Apr 2022 11:31:57 +0200 Subject: [PATCH] provide sane fallback for #696 --- .../network-web/networkfactory.cpp | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/librssguard/network-web/networkfactory.cpp b/src/librssguard/network-web/networkfactory.cpp index 29e1455a8..36297631a 100644 --- a/src/librssguard/network-web/networkfactory.cpp +++ b/src/librssguard/network-web/networkfactory.cpp @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -32,9 +33,9 @@ QStringList NetworkFactory::extractFeedLinksFromHtmlPage(const QUrl& url, const feed_link = QSL(URI_SCHEME_HTTP) + feed_link.mid(2); } else if (feed_link.startsWith(QL1C('/'))) { - feed_link = url.toString(QUrl::UrlFormattingOption::RemovePath | - QUrl::UrlFormattingOption::RemoveQuery | - QUrl::UrlFormattingOption::StripTrailingSlash) + feed_link; + feed_link = url.toString(QUrl::UrlFormattingOption::RemovePath | QUrl::UrlFormattingOption::RemoveQuery | + QUrl::UrlFormattingOption::StripTrailingSlash) + + feed_link; } feeds.append(feed_link); @@ -43,7 +44,8 @@ QStringList NetworkFactory::extractFeedLinksFromHtmlPage(const QUrl& url, const return feeds; } -QPair NetworkFactory::generateBasicAuthHeader(const QString& username, const QString& password) { +QPair NetworkFactory::generateBasicAuthHeader(const QString& username, + const QString& password) { if (username.isEmpty()) { return QPair(QByteArray(), QByteArray()); } @@ -132,16 +134,17 @@ QString NetworkFactory::networkErrorText(QNetworkReply::NetworkError error_code) //: Network status. return tr("content not found"); - default: + default: { + QMetaEnum enumer = QMetaEnum::fromType(); //: Network status. - return tr("unknown error"); + return tr("unknown error (%1)").arg(enumer.valueToKey(error_code)); + } } } QString NetworkFactory::sanitizeUrl(const QString& url) { - return QString(url).replace(QRegularExpression(QSL("[^\\w\\-.~:\\/?#\\[\\]@!$&'()*+,;=% \\|]")), - {}); + return QString(url).replace(QRegularExpression(QSL("[^\\w\\-.~:\\/?#\\[\\]@!$&'()*+,;=% \\|]")), {}); } QNetworkReply::NetworkError NetworkFactory::downloadIcon(const QList>& urls, @@ -169,7 +172,8 @@ QNetworkReply::NetworkError NetworkFactory::downloadIcon(const QList