aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/http_messages.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/proxy/http_messages.py')
-rw-r--r--src/hydrilla/proxy/http_messages.py20
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)