From 230949ee3b665a4c93a637980a43de883b37bd54 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Wed, 14 Aug 2019 17:48:40 +0800 Subject: [PATCH] Cache and reuse detected MIME type --- src/webui/webapplication.cpp | 11 +++++------ src/webui/webapplication.h | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/webui/webapplication.cpp b/src/webui/webapplication.cpp index 709abd481..f8a581034 100644 --- a/src/webui/webapplication.cpp +++ b/src/webui/webapplication.cpp @@ -368,11 +368,10 @@ void WebApplication::sendFile(const QString &path) const QDateTime lastModified {QFileInfo(path).lastModified()}; // find translated file in cache - auto it = m_translatedFiles.constFind(path); - if ((it != m_translatedFiles.constEnd()) && (lastModified <= (*it).lastModified)) { - const QString mimeName {QMimeDatabase().mimeTypeForFileNameAndData(path, (*it).data).name()}; - print((*it).data, mimeName); - header(Http::HEADER_CACHE_CONTROL, getCachingInterval(mimeName)); + const auto it = m_translatedFiles.constFind(path); + if ((it != m_translatedFiles.constEnd()) && (lastModified <= it->lastModified)) { + print(it->data, it->mimeType); + header(Http::HEADER_CACHE_CONTROL, getCachingInterval(it->mimeType)); return; } @@ -400,7 +399,7 @@ void WebApplication::sendFile(const QString &path) translateDocument(dataStr); data = dataStr.toUtf8(); - m_translatedFiles[path] = {data, lastModified}; // caching translated file + m_translatedFiles[path] = {data, mimeType.name(), lastModified}; // caching translated file } print(data, mimeType.name()); diff --git a/src/webui/webapplication.h b/src/webui/webapplication.h index 435c5fcb1..b67682050 100644 --- a/src/webui/webapplication.h +++ b/src/webui/webapplication.h @@ -136,6 +136,7 @@ private: struct TranslatedFile { QByteArray data; + QString mimeType; QDateTime lastModified; }; QHash m_translatedFiles;