Add network cache

This commit is contained in:
Carl Schwan
2023-08-15 11:32:14 +02:00
parent 0bfad95d8b
commit 6e8b0f001f

View File

@@ -3,6 +3,7 @@
#include <QCommandLineParser> #include <QCommandLineParser>
#include <QIcon> #include <QIcon>
#include <QNetworkDiskCache>
#include <QNetworkProxyFactory> #include <QNetworkProxyFactory>
#include <QObject> #include <QObject>
#include <QQmlApplicationEngine> #include <QQmlApplicationEngine>
@@ -105,7 +106,17 @@ class NetworkAccessManagerFactory : public QQmlNetworkAccessManagerFactory
{ {
QNetworkAccessManager *create(QObject *) override QNetworkAccessManager *create(QObject *) override
{ {
return NetworkAccessManager::instance(); auto nam = NetworkAccessManager::instance();
nam->setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
nam->enableStrictTransportSecurityStore(true, QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1String("/hsts/"));
nam->setStrictTransportSecurityEnabled(true);
auto namDiskCache = new QNetworkDiskCache(nam);
namDiskCache->setCacheDirectory(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1String("/nam/"));
nam->setCache(namDiskCache);
return nam;
} }
}; };