Skip to content

Commit b2c665e

Browse files
committed
RequestURL and ResponseURL
1 parent de6e24c commit b2c665e

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

web_poet/page_inputs/http.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@
1818
_AnyStrDict = Dict[AnyStr, Union[AnyStr, List[AnyStr], Tuple[AnyStr, ...]]]
1919

2020

21+
class ResponseURL(str):
22+
""" URL of the response """
23+
pass
24+
25+
26+
class RequestURL(str):
27+
""" URL of the request """
28+
pass
29+
30+
2131
class HttpRequestBody(bytes):
2232
"""A container for holding the raw HTTP request body in bytes format."""
2333

@@ -152,7 +162,7 @@ class HttpRequest:
152162
**web-poet** like :class:`~.HttpClient`.
153163
"""
154164

155-
url: str = attrs.field()
165+
url: RequestURL = attrs.field(converter=RequestURL)
156166
method: str = attrs.field(default="GET", kw_only=True)
157167
headers: HttpRequestHeaders = attrs.field(
158168
factory=HttpRequestHeaders, converter=HttpRequestHeaders, kw_only=True
@@ -185,7 +195,7 @@ class HttpResponse:
185195
is auto-detected from headers and body content.
186196
"""
187197

188-
url: str = attrs.field()
198+
url: ResponseURL = attrs.field(converter=ResponseURL)
189199
body: HttpResponseBody = attrs.field(converter=HttpResponseBody)
190200
status: Optional[int] = attrs.field(default=None, kw_only=True)
191201
headers: HttpResponseHeaders = attrs.field(factory=HttpResponseHeaders,

0 commit comments

Comments
 (0)