mirror of
https://github.com/kiwix/kiwix-desktop.git
synced 2025-09-23 12:07:00 -04:00
Move the urlSchemeHandler content handling in a specific method.
Just a bit of code reformating.
This commit is contained in:
parent
29e27fa5d2
commit
dd52ac8255
@ -13,7 +13,7 @@ UrlSchemeHandler::UrlSchemeHandler()
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
UrlSchemeHandler::handleContentRequest(QWebEngineUrlRequestJob *request)
|
||||||
{
|
{
|
||||||
auto qurl = request->requestUrl();
|
auto qurl = request->requestUrl();
|
||||||
std::string url = qurl.path().toUtf8().constData();
|
std::string url = qurl.path().toUtf8().constData();
|
||||||
@ -30,18 +30,18 @@ UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
|||||||
kiwix::Entry entry;
|
kiwix::Entry entry;
|
||||||
try {
|
try {
|
||||||
entry = reader->getEntryFromPath(url);
|
entry = reader->getEntryFromPath(url);
|
||||||
} catch (kiwix::NoEntry& e) {
|
} catch (kiwix::NoEntry&) {
|
||||||
url = "A/" + url;
|
url = "A/" + url;
|
||||||
try {
|
try {
|
||||||
entry = reader->getEntryFromPath(url);
|
entry = reader->getEntryFromPath(url);
|
||||||
} catch (kiwix::NoEntry& e) {
|
} catch (kiwix::NoEntry&) {
|
||||||
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
entry = entry.getFinalEntry();
|
entry = entry.getFinalEntry();
|
||||||
} catch (kiwix::NoEntry& e) {
|
} catch (kiwix::NoEntry&) {
|
||||||
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -51,3 +51,15 @@ UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
|||||||
connect(buffer, &QIODevice::aboutToClose, buffer, &QObject::deleteLater);
|
connect(buffer, &QIODevice::aboutToClose, buffer, &QObject::deleteLater);
|
||||||
request->reply(mimeType, buffer);
|
request->reply(mimeType, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
||||||
|
{
|
||||||
|
auto qurl = request->requestUrl();
|
||||||
|
auto host = qurl.host();
|
||||||
|
if (host.endsWith(".zim")) {
|
||||||
|
handleContentRequest(request);
|
||||||
|
} else {
|
||||||
|
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -8,6 +8,8 @@ class UrlSchemeHandler : public QWebEngineUrlSchemeHandler
|
|||||||
public:
|
public:
|
||||||
UrlSchemeHandler();
|
UrlSchemeHandler();
|
||||||
void requestStarted(QWebEngineUrlRequestJob *request);
|
void requestStarted(QWebEngineUrlRequestJob *request);
|
||||||
|
private:
|
||||||
|
void handleContentRequest(QWebEngineUrlRequestJob *request);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // URLSCHEMEHANDLER_H
|
#endif // URLSCHEMEHANDLER_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user