/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #ifndef SMOLBOTE_URLREQUESTINTERCEPTOR_H #define SMOLBOTE_URLREQUESTINTERCEPTOR_H #include #include #include class UrlFilter; class WebProfile; class UrlRequestInterceptor : public QWebEngineUrlRequestInterceptor { Q_OBJECT public: explicit UrlRequestInterceptor(WebProfile *profile, QObject *parent = nullptr); ~UrlRequestInterceptor() override = default; void addHttpHeader(const QByteArray &key, const QByteArray &value); void addFilter(UrlFilter *filter); void removeFilter(UrlFilter *filter); void interceptRequest(QWebEngineUrlRequestInfo &info) override; private: WebProfile *m_profile; QVector> headers; QVector filters; }; #endif // SMOLBOTE_URLREQUESTINTERCEPTOR_H