mirror of
https://github.com/kiwix/kiwix-desktop.git
synced 2025-09-22 11:37:56 -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
|
||||
UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
||||
UrlSchemeHandler::handleContentRequest(QWebEngineUrlRequestJob *request)
|
||||
{
|
||||
auto qurl = request->requestUrl();
|
||||
std::string url = qurl.path().toUtf8().constData();
|
||||
@ -30,18 +30,18 @@ UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
||||
kiwix::Entry entry;
|
||||
try {
|
||||
entry = reader->getEntryFromPath(url);
|
||||
} catch (kiwix::NoEntry& e) {
|
||||
} catch (kiwix::NoEntry&) {
|
||||
url = "A/" + url;
|
||||
try {
|
||||
entry = reader->getEntryFromPath(url);
|
||||
} catch (kiwix::NoEntry& e) {
|
||||
} catch (kiwix::NoEntry&) {
|
||||
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
||||
return;
|
||||
}
|
||||
}
|
||||
try {
|
||||
entry = entry.getFinalEntry();
|
||||
} catch (kiwix::NoEntry& e) {
|
||||
} catch (kiwix::NoEntry&) {
|
||||
request->fail(QWebEngineUrlRequestJob::UrlNotFound);
|
||||
return;
|
||||
}
|
||||
@ -51,3 +51,15 @@ UrlSchemeHandler::requestStarted(QWebEngineUrlRequestJob *request)
|
||||
connect(buffer, &QIODevice::aboutToClose, buffer, &QObject::deleteLater);
|
||||
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:
|
||||
UrlSchemeHandler();
|
||||
void requestStarted(QWebEngineUrlRequestJob *request);
|
||||
private:
|
||||
void handleContentRequest(QWebEngineUrlRequestJob *request);
|
||||
};
|
||||
|
||||
#endif // URLSCHEMEHANDLER_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user