Move the urlSchemeHandler content handling in a specific method.

Just a bit of code reformating.
This commit is contained in:
Matthieu Gautier 2018-11-13 18:11:57 +01:00
parent 29e27fa5d2
commit dd52ac8255
2 changed files with 18 additions and 4 deletions

View File

@ -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);
}
}

View File

@ -8,6 +8,8 @@ class UrlSchemeHandler : public QWebEngineUrlSchemeHandler
public:
UrlSchemeHandler();
void requestStarted(QWebEngineUrlRequestJob *request);
private:
void handleContentRequest(QWebEngineUrlRequestJob *request);
};
#endif // URLSCHEMEHANDLER_H