diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-10-21 21:42:56 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-10-21 21:42:56 +0200 |
commit | fe43bd552aaacd649b0e00afada01d07ad8dae9a (patch) | |
tree | 6244f66250706ec0d4a7dae23e270aefc97b02dd /src/hydrilla/proxy/http_messages.py | |
parent | d4895218cf8a3a16b74f42c530d78106062cf95b (diff) | |
download | haketilo-hydrilla-fe43bd552aaacd649b0e00afada01d07ad8dae9a.tar.gz haketilo-hydrilla-fe43bd552aaacd649b0e00afada01d07ad8dae9a.zip |
[proxy] facilitate injecting non-payload script to all pages
Diffstat (limited to 'src/hydrilla/proxy/http_messages.py')
-rw-r--r-- | src/hydrilla/proxy/http_messages.py | 20 |
1 files changed, 12 insertions, 8 deletions
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) |