aboutsummaryrefslogtreecommitdiff
path: root/src/schemes/NullRpcSchemeHandler.hpp
blob: 38716f7192845ce5d2e78954dba85362daddb889 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once

#include <QWebEngineUrlRequestJob>
#include <QWebEngineUrlSchemeHandler>
#include <QtCore>
#include <qurlquery.h>

struct NullRPCMessage {
  QString name;
  QUrlQuery params;
};

class NullRPCSchemeHandler : public QWebEngineUrlSchemeHandler {
  Q_OBJECT

public:
  static NullRPCSchemeHandler &instance() {
    static NullRPCSchemeHandler handler;
    return handler;
  }

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