/* * 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 */ #include "urlinterceptor.h" #include "formats/adblockrule.h" #include #include #include #include #include #include "configuration.h" #include "filter.h" #include "webprofile.h" // test DNT on https://browserleaks.com/donottrack UrlRequestInterceptor::UrlRequestInterceptor(Filter* filter, WebProfile* profile, QObject* parent) : QWebEngineUrlRequestInterceptor(parent) { Q_CHECK_PTR(filter); m_filter = filter; Q_CHECK_PTR(profile); m_profile = profile; } void UrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) { m_filter->filterRequest(info); // set headers for(auto i = m_filter->headers().constBegin(); i != m_filter->headers().constEnd(); ++i) { info.setHttpHeader(i.key(), i.value()); } for(auto i = m_profile->headers().constBegin(); i != m_profile->headers().constEnd(); ++i) { info.setHttpHeader(i.key(), i.value()); } }