22#include <QNetworkReply>
23#include <QWebEngineUrlRequestJob>
25#include <kio_version.h>
27#include <QNetworkAccessManager>
28Q_GLOBAL_STATIC_WITH_ARGS(QNetworkAccessManager, s_knam, (
nullptr))
31 : QWebEngineUrlSchemeHandler(parent)
32 , m_protocol(protocol)
43 if (job->requestMethod() != QByteArray(
"GET")) {
44 qWarning() <<
"Unsupported method" << job->requestMethod();
45 job->fail(QWebEngineUrlRequestJob::RequestFailed);
49 QPointer<QWebEngineUrlRequestJob> jobPtr = job;
50 QNetworkReply *reply = s_knam()->get(QNetworkRequest(job->requestUrl()));
51 connect(reply, &QNetworkReply::finished,
this, [=]() {
56 if (reply->error() != QNetworkReply::NoError) {
58 qWarning() <<
"Error:" << reply->errorString();
59 job->fail(QWebEngineUrlRequestJob::RequestFailed);
61 reply->setParent(job);
62 job->reply(reply->header(QNetworkRequest::ContentTypeHeader).toByteArray(), reply);
void requestStarted(QWebEngineUrlRequestJob *job) override