Skip to content

Commit 09193eb

Browse files
Trim whitespace in extracted request error context
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent b50565e commit 09193eb

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

hyperbrowser/transport/error_utils.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,17 @@ def extract_request_error_context(error: httpx.RequestError) -> tuple[str, str]:
8484
request_method = "UNKNOWN"
8585
if not isinstance(request_method, str) or not request_method.strip():
8686
request_method = "UNKNOWN"
87+
else:
88+
request_method = request_method.strip()
8789

8890
try:
8991
request_url = str(request.url)
9092
except Exception:
9193
request_url = "unknown URL"
9294
if not request_url.strip():
9395
request_url = "unknown URL"
96+
else:
97+
request_url = request_url.strip()
9498
return request_method, request_url
9599

96100

tests/test_transport_error_utils.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ class _BlankContextRequest:
2222
url = " "
2323

2424

25+
class _WhitespaceContextRequest:
26+
method = " POST "
27+
url = " https://example.com/trim "
28+
29+
2530
class _RequestErrorWithFailingRequestProperty(httpx.RequestError):
2631
@property
2732
def request(self): # type: ignore[override]
@@ -40,6 +45,12 @@ def request(self): # type: ignore[override]
4045
return _BlankContextRequest()
4146

4247

48+
class _RequestErrorWithWhitespaceContext(httpx.RequestError):
49+
@property
50+
def request(self): # type: ignore[override]
51+
return _WhitespaceContextRequest()
52+
53+
4354
class _DummyResponse:
4455
def __init__(self, json_value, text: str = "") -> None:
4556
self._json_value = json_value
@@ -83,6 +94,15 @@ def test_extract_request_error_context_normalizes_blank_method_and_url():
8394
assert url == "unknown URL"
8495

8596

97+
def test_extract_request_error_context_strips_method_and_url_whitespace():
98+
method, url = extract_request_error_context(
99+
_RequestErrorWithWhitespaceContext("network down")
100+
)
101+
102+
assert method == "POST"
103+
assert url == "https://example.com/trim"
104+
105+
86106
def test_format_request_failure_message_uses_fallback_values():
87107
message = format_request_failure_message(
88108
httpx.RequestError("network down"),

0 commit comments

Comments
 (0)