diff options
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) |