diff options
author | Jay Kamat <jaygkamat@gmail.com> | 2019-01-13 10:55:19 -0800 |
---|---|---|
committer | Jay Kamat <jaygkamat@gmail.com> | 2019-01-13 10:55:19 -0800 |
commit | 45ae627aab51ee8b2378210edfe61c6bd9c87464 (patch) | |
tree | 61043cb46dc05521ac8f978dcd007523449911d9 /qutebrowser/extensions | |
parent | 18f0034f3cb78d901475d71e46a8f5e4d8efd76a (diff) | |
download | qutebrowser-45ae627aab51ee8b2378210edfe61c6bd9c87464.tar.gz qutebrowser-45ae627aab51ee8b2378210edfe61c6bd9c87464.zip |
Add resourceType to interceptor api
Closes https://github.com/qutebrowser/qutebrowser-extensions/issues/15
Diffstat (limited to 'qutebrowser/extensions')
-rw-r--r-- | qutebrowser/extensions/interceptors.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/qutebrowser/extensions/interceptors.py b/qutebrowser/extensions/interceptors.py index 7defcf213..beb820cb6 100644 --- a/qutebrowser/extensions/interceptors.py +++ b/qutebrowser/extensions/interceptors.py @@ -20,6 +20,7 @@ """Infrastructure for intercepting requests.""" import typing +import enum import attr @@ -29,6 +30,17 @@ if MYPY: from PyQt5.QtCore import QUrl +# Possible request types that can be received. Currently correspond to the +# QWebEngineUrlRequestInfo Enum: +# https://doc.qt.io/qt-5/qwebengineurlrequestinfo.html#ResourceType-enum +ResourceType = enum.Enum('ResourceType', + ['main_frame', 'sub_frame', 'stylesheet', 'script', + 'image', 'font_resource', 'sub_resource', 'object', + 'media', 'worker', 'shared_worker', 'prefetch', + 'favicon', 'xhr', 'ping', 'service_worker', + 'csp_report', 'plugin_resource', 'unknown']) + + @attr.s class Request: @@ -42,6 +54,10 @@ class Request: is_blocked = attr.ib(False) # type: bool + #: The resource type of the request. None if not supported on this backend, + # or if there was an error finding the resource type. + resource_type = attr.ib(None) # type: typing.Optional[ResourceType] + def block(self) -> None: """Block this request.""" self.is_blocked = True |