diff options
| author | Simon Rettberg | 2025-11-13 13:48:37 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2025-11-13 14:00:03 +0100 |
| commit | 2c3b026349349729141ca46bd9d292327da2dfe2 (patch) | |
| tree | af0650430c311a319bda68c89b4fd39036a9ec2c /src/nam.h | |
| parent | Fix: error page not showing HTTP error codes, but "Unknown Error" (diff) | |
| download | slxbrowser-2c3b026349349729141ca46bd9d292327da2dfe2.tar.gz slxbrowser-2c3b026349349729141ca46bd9d292327da2dfe2.tar.xz slxbrowser-2c3b026349349729141ca46bd9d292327da2dfe2.zip | |
Diffstat (limited to 'src/nam.h')
| -rw-r--r-- | src/nam.h | 38 |
1 files changed, 15 insertions, 23 deletions
@@ -1,38 +1,30 @@ #ifndef NAM_H_ #define NAM_H_ -#include <QNetworkAccessManager> #include <QRegularExpression> -#include <QNetworkReply> +#include <QtWebEngineCore/QWebEngineUrlRequestInterceptor> +#include <QtWebEngineCore/QWebEngineUrlRequestInfo> /** - * Block certain requests based on URL + * Block certain requests based on URL via QtWebEngine interceptor */ -class SlxNetworkAccessManager : public QNetworkAccessManager +class SlxRequestInterceptor : public QWebEngineUrlRequestInterceptor { -Q_OBJECT + Q_OBJECT public: - SlxNetworkAccessManager(QRegularExpression blackList, QRegularExpression whiteList, QObject *parent = nullptr) - : QNetworkAccessManager(parent), _black(blackList), _white(whiteList) {} -protected: - QNetworkReply* createRequest(QNetworkAccessManager::Operation op, - const QNetworkRequest &originalReq, QIODevice *outgoingData = nullptr) override; + SlxRequestInterceptor(const QRegularExpression& blackList, const QRegularExpression& whiteList, QObject *parent = nullptr) + : QWebEngineUrlRequestInterceptor(parent), _black(blackList), _white(whiteList) {} + void interceptRequest(QWebEngineUrlRequestInfo &info) override; + +signals: + void urlBlocked(const QUrl &url); + void unsupportedScheme(const QUrl &url); + private: - QRegularExpression _black, _white; + QRegularExpression _black, _white; }; -class SlxDisabledNetworkReply : public QNetworkReply -{ - Q_OBJECT -public: - SlxDisabledNetworkReply(QObject *parent, const QNetworkRequest &req, - QNetworkAccessManager::Operation op); - - ~SlxDisabledNetworkReply() {} - void abort() override { } -protected: - qint64 readData(char *, qint64) override { return -1; } -}; +// no reply subclass needed with WebEngine #endif |
