diff options
author | Simon Rettberg | 2019-03-15 15:22:34 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-03-15 15:22:34 +0100 |
commit | 352685c36bd7df32c690519135fee3fc5ffb9334 (patch) | |
tree | 5601e75ccf1f2f4b1ac8e810976a6e22883f7430 /src/nam.h | |
parent | Don't reload (--reload-interval) if browser is being used (diff) | |
download | slxbrowser-352685c36bd7df32c690519135fee3fc5ffb9334.tar.gz slxbrowser-352685c36bd7df32c690519135fee3fc5ffb9334.tar.xz slxbrowser-352685c36bd7df32c690519135fee3fc5ffb9334.zip |
Maybe add new files?v23
Diffstat (limited to 'src/nam.h')
-rw-r--r-- | src/nam.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/nam.h b/src/nam.h new file mode 100644 index 0000000..0036904 --- /dev/null +++ b/src/nam.h @@ -0,0 +1,39 @@ +#ifndef NAM_H_ +#define NAM_H_ + +#include <QNetworkAccessManager> +#include <QRegularExpression> +#include <QNetworkReply> + +/** + * Block certain requests based on URL + */ +class SlxNetworkAccessManager : public QNetworkAccessManager +{ +Q_OBJECT +public: + SlxNetworkAccessManager(QRegularExpression list, bool isWhitelist, QObject *parent = nullptr) + : QNetworkAccessManager(parent), _list(list), _isWhitelist(isWhitelist) {} +protected: + QNetworkReply* createRequest(QNetworkAccessManager::Operation op, + const QNetworkRequest &originalReq, QIODevice *outgoingData = nullptr) override; +private: + QRegularExpression _list; + bool _isWhitelist; +}; + + +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; } +}; + +#endif |