File indexing completed on 2024-05-12 16:28:08

0001 // SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include "networkaccessmanagerfactory.h"
0005 
0006 #include <QDebug>
0007 #include <QThread>
0008 
0009 #include <QNetworkAccessManager>
0010 #include <QNetworkDiskCache>
0011 #include <QStandardPaths>
0012 
0013 QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
0014 {
0015     auto nam = new QNetworkAccessManager(parent);
0016 
0017     nam->setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
0018 
0019     nam->enableStrictTransportSecurityStore(true, QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1String("/hsts/"));
0020     nam->setStrictTransportSecurityEnabled(true);
0021 
0022     auto namDiskCache = new QNetworkDiskCache(nam);
0023     namDiskCache->setCacheDirectory(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1String("/nam/"));
0024     nam->setCache(namDiskCache);
0025 
0026     return nam;
0027 }