aboutsummaryrefslogtreecommitdiff
path: root/src/schemes/NullRpcSchemeHandler.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/schemes/NullRpcSchemeHandler.hpp')
-rw-r--r--src/schemes/NullRpcSchemeHandler.hpp34
1 files changed, 5 insertions, 29 deletions
diff --git a/src/schemes/NullRpcSchemeHandler.hpp b/src/schemes/NullRpcSchemeHandler.hpp
index b2b22cb..38716f7 100644
--- a/src/schemes/NullRpcSchemeHandler.hpp
+++ b/src/schemes/NullRpcSchemeHandler.hpp
@@ -19,39 +19,15 @@ public:
return handler;
}
- void requestStarted(QWebEngineUrlRequestJob *job) override {
- auto url = job->requestUrl();
- auto origin = job->initiator();
- qDebug() << "REQ" << url << " | From: " << job->initiator();
-
- if (origin.scheme() != "nullrpc" || url.host().isEmpty() || url.host() == "noop") {
- job->reply("text/html", new QBuffer(job));
- return;
- }
-
- if (url.host() == "log") {
- qDebug() << url.query();
- job->reply("text/plain", new QBuffer(job));
- return;
- }
-
- NullRPCMessage message{
- .name = url.host(),
- .params = QUrlQuery(url.query()),
- };
- emit message_received(message);
-
- // TODO: responses managed with request ids
- QByteArray data = "{}";
- QBuffer *buffer = new QBuffer(job);
- buffer->setData(data);
- buffer->open(QIODevice::ReadOnly);
- job->reply("text/plain", buffer);
- }
+ void requestStarted(QWebEngineUrlRequestJob *job) override;
signals:
void message_received(NullRPCMessage message);
private:
NullRPCSchemeHandler() = default;
+ static const QStringList allowed_origin_schemes;
+
+ void send_empty_response(QWebEngineUrlRequestJob *job,
+ const QByteArray &content_type = "text/plain");
};