Rename requests/request filters to interceptors
So we don't collide with the requests library.
This commit is contained in:
parent
7f06b54f25
commit
98543af57b
@ -19,14 +19,14 @@
|
||||
|
||||
"""APIs related to intercepting/blocking requests."""
|
||||
|
||||
from qutebrowser.extensions import requests
|
||||
from qutebrowser.extensions import interceptors
|
||||
# pylint: disable=unused-import
|
||||
from qutebrowser.extensions.requests import Request
|
||||
from qutebrowser.extensions.interceptors import Request
|
||||
|
||||
|
||||
def register_filter(reqfilter: requests.RequestFilterType) -> None:
|
||||
"""Register a request filter.
|
||||
def register(interceptor: interceptors.InterceptorType) -> None:
|
||||
"""Register a request interceptor.
|
||||
|
||||
Whenever a request happens, the filter gets called with a Request object.
|
||||
Whenever a request happens, the interceptor gets called with a Request object.
|
||||
"""
|
||||
requests.register_filter(reqfilter)
|
||||
interceptors.register(interceptor)
|
@ -26,7 +26,7 @@ from PyQt5.QtWebEngineCore import (QWebEngineUrlRequestInterceptor,
|
||||
from qutebrowser.config import config
|
||||
from qutebrowser.browser import shared
|
||||
from qutebrowser.utils import utils, log, debug
|
||||
from qutebrowser.extensions import requests
|
||||
from qutebrowser.extensions import interceptors
|
||||
|
||||
|
||||
class RequestInterceptor(QWebEngineUrlRequestInterceptor):
|
||||
@ -84,9 +84,9 @@ class RequestInterceptor(QWebEngineUrlRequestInterceptor):
|
||||
return
|
||||
|
||||
# FIXME:qtwebengine only block ads for NavigationTypeOther?
|
||||
request = requests.Request(first_party_url=first_party,
|
||||
request = interceptors.Request(first_party_url=first_party,
|
||||
request_url=url)
|
||||
requests.run_filters(request)
|
||||
interceptors.run(request)
|
||||
if request.is_blocked:
|
||||
info.block(True)
|
||||
|
||||
|
@ -39,7 +39,7 @@ from PyQt5.QtCore import QUrl
|
||||
from qutebrowser.browser import downloads
|
||||
from qutebrowser.browser.webkit import webkitelem
|
||||
from qutebrowser.utils import log, objreg, message, usertypes, utils, urlutils
|
||||
from qutebrowser.extensions import requests
|
||||
from qutebrowser.extensions import interceptors
|
||||
|
||||
|
||||
@attr.s
|
||||
@ -355,8 +355,8 @@ class _Downloader:
|
||||
# qute, see the comments/discussion on
|
||||
# https://github.com/qutebrowser/qutebrowser/pull/962#discussion_r40256987
|
||||
# and https://github.com/qutebrowser/qutebrowser/issues/1053
|
||||
request = requests.Request(first_party_url=None, request_url=url)
|
||||
requests.run_filters(request)
|
||||
request = interceptors.Request(first_party_url=None, request_url=url)
|
||||
interceptors.run(request)
|
||||
if request.is_blocked:
|
||||
log.downloads.debug("Skipping {}, host-blocked".format(url))
|
||||
# We still need an empty file in the output, QWebView can be pretty
|
||||
|
@ -38,7 +38,7 @@ if MYPY:
|
||||
from qutebrowser.utils import (message, log, usertypes, utils, objreg,
|
||||
urlutils, debug)
|
||||
from qutebrowser.browser import shared
|
||||
from qutebrowser.extensions import requests
|
||||
from qutebrowser.extensions import interceptors
|
||||
from qutebrowser.browser.webkit import certificateerror
|
||||
from qutebrowser.browser.webkit.network import (webkitqutescheme, networkreply,
|
||||
filescheme)
|
||||
@ -406,9 +406,9 @@ class NetworkManager(QNetworkAccessManager):
|
||||
# the webpage shutdown here.
|
||||
current_url = QUrl()
|
||||
|
||||
request = requests.Request(first_party_url=current_url,
|
||||
request = interceptors.Request(first_party_url=current_url,
|
||||
request_url=req.url())
|
||||
requests.run_filters(request)
|
||||
interceptors.run(request)
|
||||
if request.is_blocked:
|
||||
return networkreply.ErrorNetworkReply(
|
||||
req, HOSTBLOCK_ERROR_STRING, QNetworkReply.ContentAccessDenied,
|
||||
|
@ -31,7 +31,7 @@ import pathlib
|
||||
from PyQt5.QtCore import QUrl
|
||||
|
||||
from qutebrowser.api import (cmdutils, hook, config, message, downloads,
|
||||
requests, apitypes)
|
||||
interceptor, apitypes)
|
||||
|
||||
|
||||
logger = logging.getLogger('misc')
|
||||
@ -123,7 +123,7 @@ class HostBlocker:
|
||||
host in self._config_blocked_hosts) and
|
||||
not _is_whitelisted_url(request_url))
|
||||
|
||||
def filter_request(self, info: requests.Request) -> None:
|
||||
def filter_request(self, info: interceptor.Request) -> None:
|
||||
"""Block the given request if necessary."""
|
||||
if self._is_blocked(request_url=info.request_url,
|
||||
first_party_url=info.first_party_url):
|
||||
@ -344,4 +344,4 @@ def init(context: apitypes.InitContext) -> None:
|
||||
config_dir=context.config_dir,
|
||||
has_basedir=context.args.basedir is not None)
|
||||
_host_blocker.read_hosts()
|
||||
requests.register_filter(_host_blocker.filter_request)
|
||||
interceptor.register(_host_blocker.filter_request)
|
||||
|
@ -17,7 +17,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""Infrastructure for filtering requests."""
|
||||
"""Infrastructure for intercepting requests."""
|
||||
|
||||
import typing
|
||||
|
||||
@ -32,7 +32,7 @@ if MYPY:
|
||||
@attr.s
|
||||
class Request:
|
||||
|
||||
"""A request which can be blocked."""
|
||||
"""A request which can be intercepted/blocked."""
|
||||
|
||||
first_party_url = attr.ib() # type: QUrl
|
||||
request_url = attr.ib() # type: QUrl
|
||||
@ -43,16 +43,16 @@ class Request:
|
||||
self.is_blocked = True
|
||||
|
||||
|
||||
RequestFilterType = typing.Callable[[Request], None]
|
||||
InterceptorType = typing.Callable[[Request], None]
|
||||
|
||||
|
||||
_request_filters = [] # type: typing.List[RequestFilterType]
|
||||
_interceptors = [] # type: typing.List[InterceptorType]
|
||||
|
||||
|
||||
def register_filter(reqfilter: RequestFilterType) -> None:
|
||||
_request_filters.append(reqfilter)
|
||||
def register(interceptor: InterceptorType) -> None:
|
||||
_interceptors.append(interceptor)
|
||||
|
||||
|
||||
def run_filters(info: Request) -> None:
|
||||
for reqfilter in _request_filters:
|
||||
reqfilter(info)
|
||||
def run(info: Request) -> None:
|
||||
for interceptor in _interceptors:
|
||||
interceptor(info)
|
Loading…
Reference in New Issue
Block a user