From 26d3891fa1fc3642b3b164e649a9909a9a079437 Mon Sep 17 00:00:00 2001
From: Veloman Yunkan
Date: Mon, 19 Aug 2024 16:57:18 +0400
Subject: [PATCH] Code deduplication in error page generation
---
src/urlschemehandler.cpp | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/urlschemehandler.cpp b/src/urlschemehandler.cpp
index c8cdd05..52936d7 100644
--- a/src/urlschemehandler.cpp
+++ b/src/urlschemehandler.cpp
@@ -191,13 +191,24 @@ QString completeHtml(const QString& htmlBodyContent)
return fullHtml;
}
+void
+sendHtmlResponse(QWebEngineUrlRequestJob *request, const QString& htmlBodyContent)
+{
+ QBuffer *buffer = new QBuffer;
+ buffer->open(QIODevice::WriteOnly);
+ buffer->write(completeHtml(htmlBodyContent).toStdString().c_str());
+ buffer->close();
+
+ QObject::connect(request, SIGNAL(destroyed()), buffer, SLOT(deleteLater()));
+ request->reply("text/html", buffer);
+}
+
} // unnamed namespace
void
UrlSchemeHandler::replyZimNotFoundPage(QWebEngineUrlRequestJob *request,
const QString &zimId)
{
- QBuffer *buffer = new QBuffer;
QString path = "N/A", name = "N/A";
try
{
@@ -225,19 +236,13 @@ UrlSchemeHandler::replyZimNotFoundPage(QWebEngineUrlRequestJob *request,
"
"
"";
- buffer->open(QIODevice::WriteOnly);
- buffer->write(completeHtml(contentHtml).toStdString().c_str());
- buffer->close();
-
- connect(request, SIGNAL(destroyed()), buffer, SLOT(deleteLater()));
- request->reply("text/html", buffer);
+ sendHtmlResponse(request, contentHtml);
}
void
UrlSchemeHandler::replyBadZimFilePage(QWebEngineUrlRequestJob *request,
const QString &zimId)
{
- QBuffer *buffer = new QBuffer;
const auto& book = KiwixApp::instance()->getLibrary()->getBookById(zimId);
const QString path = QString::fromStdString(book.getPath());
const QString name = QString::fromStdString(book.getName());
@@ -252,12 +257,7 @@ UrlSchemeHandler::replyBadZimFilePage(QWebEngineUrlRequestJob *request,
"" + gt("zim-entry-path") + ": " + zimEntryPath + "
"
"";
- buffer->open(QIODevice::WriteOnly);
- buffer->write(completeHtml(contentHtml).toStdString().c_str());
- buffer->close();
-
- connect(request, SIGNAL(destroyed()), buffer, SLOT(deleteLater()));
- request->reply("text/html", buffer);
+ sendHtmlResponse(request, contentHtml);
}
void