@@ -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+
3035class _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+
5465class _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+
106126def test_format_request_failure_message_uses_fallback_values ():
107127 message = format_request_failure_message (
108128 httpx .RequestError ("network down" ),
0 commit comments