Skip to content

Commit 6392b3a

Browse files
Prefer non-blank transport error keys before fallback
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent 05b86f2 commit 6392b3a

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

hyperbrowser/transport/error_utils.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,10 @@ def _fallback_message() -> str:
4848
for key in ("message", "error", "detail", "errors"):
4949
message = error_data.get(key)
5050
if message is not None:
51-
extracted_message = _stringify_error_value(message)
52-
break
51+
candidate_message = _stringify_error_value(message)
52+
if candidate_message.strip():
53+
extracted_message = candidate_message
54+
break
5355
else:
5456
extracted_message = _stringify_error_value(error_data)
5557
elif isinstance(error_data, str):

tests/test_transport_error_utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,3 +160,12 @@ def test_extract_error_message_extracts_errors_list_messages():
160160
)
161161

162162
assert message == "first issue; second issue"
163+
164+
165+
def test_extract_error_message_skips_blank_message_and_uses_detail():
166+
message = extract_error_message(
167+
_DummyResponse({"message": " ", "detail": "useful detail"}),
168+
RuntimeError("fallback detail"),
169+
)
170+
171+
assert message == "useful detail"

0 commit comments

Comments
 (0)