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