diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-10-22 13:47:40 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-10-22 14:00:35 +0200 |
commit | 59a4b477dd922d2f839a717fe199501e7cb71e6e (patch) | |
tree | d6120e13f493ef057ee5445c566e1aca11a9f7f5 /src/hydrilla/proxy/policies/payload.py | |
parent | 1fc2dbe5a3e867eb5e6c2f759409f1c94146a794 (diff) | |
download | haketilo-hydrilla-59a4b477dd922d2f839a717fe199501e7cb71e6e.tar.gz haketilo-hydrilla-59a4b477dd922d2f839a717fe199501e7cb71e6e.zip |
[proxy] simplify usage of class variables of `Policy` subtypes
This commit also prevents popup script injection to Haketilo-served pages like `https://hkt.mitm.it/`.
Diffstat (limited to 'src/hydrilla/proxy/policies/payload.py')
-rw-r--r-- | src/hydrilla/proxy/policies/payload.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/hydrilla/proxy/policies/payload.py b/src/hydrilla/proxy/policies/payload.py index 76a1202..3252c6a 100644 --- a/src/hydrilla/proxy/policies/payload.py +++ b/src/hydrilla/proxy/policies/payload.py @@ -105,10 +105,9 @@ def block_attr(element: bs4.PageElement, attr_name: str) -> None: @dc.dataclass(frozen=True) class PayloadInjectPolicy(PayloadAwarePolicy): - """....""" - _process_response: t.ClassVar[bool] = True + _process_response = base.MsgProcessOpt.MUST - priority: t.ClassVar[base.PolicyPriority] = base.PolicyPriority._TWO + priority = base.PolicyPriority._TWO @property def current_popup_settings(self) -> state.PopupSettings: @@ -179,8 +178,7 @@ class _PayloadHasProblemsError(HaketiloException): pass class AutoPayloadInjectPolicy(PayloadInjectPolicy): - """....""" - priority: t.ClassVar[base.PolicyPriority] = base.PolicyPriority._ONE + priority = base.PolicyPriority._ONE def consume_response(self, http_info: http_messages.FullHTTPInfo) \ -> t.Optional[http_messages.ResponseInfo]: @@ -217,10 +215,10 @@ class AutoPayloadInjectPolicy(PayloadInjectPolicy): @dc.dataclass(frozen=True) class PayloadSuggestPolicy(PayloadAwarePolicy): - """....""" - _process_request: t.ClassVar[bool] = True + _process_request = base.MsgProcessOpt.MUST + _process_response = base.MsgProcessOpt.MUST_NOT - priority: t.ClassVar[base.PolicyPriority] = base.PolicyPriority._ONE + priority = base.PolicyPriority._ONE def consume_request(self, request_info: http_messages.RequestInfo) \ -> http_messages.ResponseInfo: |