mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-10-22 10:46:04 +03:00
Merge pull request #11075 from Chocobo1/cache
Cache and reuse detected MIME type
This commit is contained in:
commit
d639c16f72
2 changed files with 8 additions and 8 deletions
|
@ -191,7 +191,7 @@ void WebApplication::sendWebUIFile()
|
||||||
sendFile(localPath);
|
sendFile(localPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebApplication::translateDocument(QString &data)
|
void WebApplication::translateDocument(QString &data) const
|
||||||
{
|
{
|
||||||
const QRegularExpression regex("QBT_TR\\((([^\\)]|\\)(?!QBT_TR))+)\\)QBT_TR\\[CONTEXT=([a-zA-Z_][a-zA-Z0-9_]*)\\]");
|
const QRegularExpression regex("QBT_TR\\((([^\\)]|\\)(?!QBT_TR))+)\\)QBT_TR\\[CONTEXT=([a-zA-Z_][a-zA-Z0-9_]*)\\]");
|
||||||
|
|
||||||
|
@ -368,11 +368,10 @@ void WebApplication::sendFile(const QString &path)
|
||||||
const QDateTime lastModified {QFileInfo(path).lastModified()};
|
const QDateTime lastModified {QFileInfo(path).lastModified()};
|
||||||
|
|
||||||
// find translated file in cache
|
// find translated file in cache
|
||||||
auto it = m_translatedFiles.constFind(path);
|
const auto it = m_translatedFiles.constFind(path);
|
||||||
if ((it != m_translatedFiles.constEnd()) && (lastModified <= (*it).lastModified)) {
|
if ((it != m_translatedFiles.constEnd()) && (lastModified <= it->lastModified)) {
|
||||||
const QString mimeName {QMimeDatabase().mimeTypeForFileNameAndData(path, (*it).data).name()};
|
print(it->data, it->mimeType);
|
||||||
print((*it).data, mimeName);
|
header(Http::HEADER_CACHE_CONTROL, getCachingInterval(it->mimeType));
|
||||||
header(Http::HEADER_CACHE_CONTROL, getCachingInterval(mimeName));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -400,7 +399,7 @@ void WebApplication::sendFile(const QString &path)
|
||||||
translateDocument(dataStr);
|
translateDocument(dataStr);
|
||||||
data = dataStr.toUtf8();
|
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());
|
print(data, mimeType.name());
|
||||||
|
|
|
@ -105,7 +105,7 @@ private:
|
||||||
void sendFile(const QString &path);
|
void sendFile(const QString &path);
|
||||||
void sendWebUIFile();
|
void sendWebUIFile();
|
||||||
|
|
||||||
void translateDocument(QString &data);
|
void translateDocument(QString &data) const;
|
||||||
|
|
||||||
// Session management
|
// Session management
|
||||||
QString generateSid() const;
|
QString generateSid() const;
|
||||||
|
@ -136,6 +136,7 @@ private:
|
||||||
struct TranslatedFile
|
struct TranslatedFile
|
||||||
{
|
{
|
||||||
QByteArray data;
|
QByteArray data;
|
||||||
|
QString mimeType;
|
||||||
QDateTime lastModified;
|
QDateTime lastModified;
|
||||||
};
|
};
|
||||||
QHash<QString, TranslatedFile> m_translatedFiles;
|
QHash<QString, TranslatedFile> m_translatedFiles;
|
||||||
|
|
Loading…
Reference in a new issue