LCOV - code coverage report
Current view: top level - src/network - FangNetworkAccessManager.cpp (source / functions) Coverage Total Hit
Test: coverage.info.cleaned Lines: 100.0 % 14 14
Test Date: 2026-03-23 10:19:47 Functions: 100.0 % 2 2

            Line data    Source code
       1              : #include "FangNetworkAccessManager.h"
       2              : 
       3              : #include <QNetworkDiskCache>
       4              : #include <QStandardPaths>
       5              : 
       6          284 : FangNetworkAccessManager::FangNetworkAccessManager(QObject *parent) :
       7          284 :     QNetworkAccessManager(parent)
       8              : {
       9          284 :     QNetworkDiskCache* diskCache = new QNetworkDiskCache(this);
      10          284 :     QString cacheDir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
      11          284 :     diskCache->setCacheDirectory(cacheDir);
      12          284 :     if (!cacheDir.isEmpty()) {
      13          284 :         setCache(diskCache);
      14              :     }
      15          284 : }
      16              : 
      17           12 : QNetworkReply* FangNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& request, QIODevice* outgoingData)
      18              : {
      19           12 :     QNetworkRequest& req = const_cast<QNetworkRequest&>(request);
      20              : 
      21              :     // This SHOULD be the default, but just in case.
      22           12 :     req.setAttribute(QNetworkRequest::CacheLoadControlAttribute,
      23              :                           QNetworkRequest::PreferNetwork);
      24              : 
      25              :     // Mimic Chromium to avoid servers that block non-browser User-Agents.
      26              :     // Qt WebEngine is Chromium-based, so this is honest enough.
      27           12 :     req.setHeader(QNetworkRequest::UserAgentHeader,
      28              :                       "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36");
      29              : 
      30              :     // Required for blogs.gnome.org.
      31           12 :     req.setRawHeader("Accept",
      32              :                          "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
      33              : 
      34           12 :     return QNetworkAccessManager::createRequest(op, req, outgoingData);
      35              : }
        

Generated by: LCOV version 2.0-1