Skip to content

Commit 677a576

Browse files
Normalize extracted request methods to uppercase
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent a036b0e commit 677a576

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

hyperbrowser/transport/error_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def extract_request_error_context(error: httpx.RequestError) -> tuple[str, str]:
8585
if not isinstance(request_method, str) or not request_method.strip():
8686
request_method = "UNKNOWN"
8787
else:
88-
request_method = request_method.strip()
88+
request_method = request_method.strip().upper()
8989

9090
try:
9191
request_url = str(request.url)

tests/test_transport_error_utils.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ class _WhitespaceContextRequest:
2727
url = " https://example.com/trim "
2828

2929

30+
class _LowercaseMethodRequest:
31+
method = "get"
32+
url = "https://example.com/lowercase"
33+
34+
3035
class _RequestErrorWithFailingRequestProperty(httpx.RequestError):
3136
@property
3237
def request(self): # type: ignore[override]
@@ -51,6 +56,12 @@ def request(self): # type: ignore[override]
5156
return _WhitespaceContextRequest()
5257

5358

59+
class _RequestErrorWithLowercaseMethod(httpx.RequestError):
60+
@property
61+
def request(self): # type: ignore[override]
62+
return _LowercaseMethodRequest()
63+
64+
5465
class _DummyResponse:
5566
def __init__(self, json_value, text: str = "") -> None:
5667
self._json_value = json_value
@@ -103,6 +114,15 @@ def test_extract_request_error_context_strips_method_and_url_whitespace():
103114
assert url == "https://example.com/trim"
104115

105116

117+
def test_extract_request_error_context_normalizes_method_to_uppercase():
118+
method, url = extract_request_error_context(
119+
_RequestErrorWithLowercaseMethod("network down")
120+
)
121+
122+
assert method == "GET"
123+
assert url == "https://example.com/lowercase"
124+
125+
106126
def test_format_request_failure_message_uses_fallback_values():
107127
message = format_request_failure_message(
108128
httpx.RequestError("network down"),

0 commit comments

Comments
 (0)