Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-102352

QNetworkRequest::PreferCache does not behave as expected

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.15.2, 6.2.4
    • Network: HTTP
    • None
    • Linux/Wayland, Windows

    Description

      see attached example.

      QNetworkDiskCache does not work

      
      CacheRequestTest::CacheRequestTest()
      {
          manager = new QNetworkAccessManager();
          QNetworkDiskCache *diskCache = new QNetworkDiskCache();
          diskCache->setCacheDirectory("cacheDir");
          manager->setCache(diskCache);
      
          connect(manager,&QNetworkAccessManager::finished,this,&CacheRequestTest::replyFinished);
      
      
      
      
      }
      
      void CacheRequestTest::testCache(){
          QNetworkRequest request(QUrl(QString("http://qt-project.org")));
          manager->get(request);
      
          // do a request preferred from cache
          QNetworkRequest request2(QUrl(QString("http://qt-project.org")));
          request2.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
          manager->get(request2);
      }
      
      void CacheRequestTest::replyFinished(QNetworkReply *reply) {
          QVariant fromCache = reply->attribute(QNetworkRequest::SourceIsFromCacheAttribute);
          qDebug() << "page from cache?" << fromCache.toBool();
      
      }
      

      expected result : the second request return true.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              manordheim MÃ¥rten Nordheim
              xiaoyifang yifang xiao
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes