From fe43bd552aaacd649b0e00afada01d07ad8dae9a Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 21 Oct 2022 21:42:56 +0200 Subject: [proxy] facilitate injecting non-payload script to all pages --- src/hydrilla/proxy/http_messages.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/hydrilla/proxy/http_messages.py') diff --git a/src/hydrilla/proxy/http_messages.py b/src/hydrilla/proxy/http_messages.py index 9aab510..718022f 100644 --- a/src/hydrilla/proxy/http_messages.py +++ b/src/hydrilla/proxy/http_messages.py @@ -235,15 +235,9 @@ class ResponseInfo(HasHeadersMixin, _BaseResponseInfoFields): AnyResponseInfo = t.Union[BodylessResponseInfo, ResponseInfo] -@dc.dataclass(frozen=True) -class FullHTTPInfo: - request_info: RequestInfo - response_info: ResponseInfo - - def is_likely_a_page( - request_info: t.Union[BodylessRequestInfo, RequestInfo], - response_info: t.Union[BodylessResponseInfo, ResponseInfo] + request_info: AnyRequestInfo, + response_info: AnyResponseInfo ) -> bool: fetch_dest = request_info.headers.get('sec-fetch-dest') if fetch_dest is None: @@ -261,3 +255,13 @@ def is_likely_a_page( # account. In the future we might also want to consider the # Content-Disposition header. return mime is not None and 'html' in mime + + +@dc.dataclass(frozen=True) +class FullHTTPInfo: + request_info: RequestInfo + response_info: ResponseInfo + + @property + def is_likely_a_page(self) -> bool: + return is_likely_a_page(self.request_info, self.response_info) -- cgit v1.2.3