diff options
Diffstat (limited to 'src/hydrilla/proxy/policies/misc.py')
-rw-r--r-- | src/hydrilla/proxy/policies/misc.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/hydrilla/proxy/policies/misc.py b/src/hydrilla/proxy/policies/misc.py index 71692b3..81875a2 100644 --- a/src/hydrilla/proxy/policies/misc.py +++ b/src/hydrilla/proxy/policies/misc.py @@ -58,16 +58,19 @@ class ErrorBlockPolicy(BlockPolicy): builtin: bool = True -class DoNothingPolicy(base.Policy): + +class MitmItPagePolicy(base.Policy): """ A special policy class for handling of the magical mitm.it domain. It causes - request and response not to be modified in any way, and also (unlike + request and response not to be modified in any way and also (unlike FallbackAllowPolicy) prevents them from being streamed. """ _process_request: t.ClassVar[bool] = True _process_response: t.ClassVar[bool] = True anticache: t.ClassVar[bool] = False + priority: t.ClassVar[base.PolicyPriority] = base.PolicyPriority._THREE + def consume_request(self, request_info: http_messages.RequestInfo) -> None: return None @@ -79,3 +82,11 @@ class DoNothingPolicy(base.Policy): return None builtin: bool = True + +@dc.dataclass(frozen=True, unsafe_hash=True) +class MitmItPagePolicyFactory(base.PolicyFactory): + builtin: bool = True + + def make_policy(self, haketilo_state: state.HaketiloState) \ + -> MitmItPagePolicy: + return MitmItPagePolicy() |