refactor: remove dead _error_response wrapper in Anthropic provider

Fold _error_response back into _handle_error to match OpenAI/Azure
convention. Update all call sites and tests accordingly.

Made-with: Cursor
This commit is contained in:
Xubin Ren 2026-04-06 08:35:02 +00:00
parent b575aed20e
commit aeba9a23e6
2 changed files with 7 additions and 11 deletions

View File

@ -98,7 +98,7 @@ class AnthropicProvider(LLMProvider):
return value if value > 0 else None
@classmethod
def _error_response(cls, e: Exception) -> LLMResponse:
def _handle_error(cls, e: Exception) -> LLMResponse:
response = getattr(e, "response", None)
headers = getattr(response, "headers", None)
payload = (
@ -505,10 +505,6 @@ class AnthropicProvider(LLMProvider):
# Public API
# ------------------------------------------------------------------
@classmethod
def _handle_error(cls, e: Exception) -> LLMResponse:
return cls._error_response(e)
async def chat(
self,
messages: list[dict[str, Any]],
@ -527,7 +523,7 @@ class AnthropicProvider(LLMProvider):
response = await self._client.messages.create(**kwargs)
return self._parse_response(response)
except Exception as e:
return self._error_response(e)
return self._handle_error(e)
async def chat_stream(
self,
@ -573,7 +569,7 @@ class AnthropicProvider(LLMProvider):
error_kind="timeout",
)
except Exception as e:
return self._error_response(e)
return self._handle_error(e)
def get_default_model(self) -> str:
return self.default_model

View File

@ -50,7 +50,7 @@ def test_openai_handle_error_marks_timeout_kind() -> None:
assert response.error_kind == "timeout"
def test_anthropic_error_response_extracts_structured_metadata() -> None:
def test_anthropic_handle_error_extracts_structured_metadata() -> None:
class FakeStatusError(Exception):
pass
@ -62,7 +62,7 @@ def test_anthropic_error_response_extracts_structured_metadata() -> None:
)
err.body = {"type": "error", "error": {"type": "rate_limit_error"}}
response = AnthropicProvider._error_response(err)
response = AnthropicProvider._handle_error(err)
assert response.finish_reason == "error"
assert response.error_status_code == 408
@ -71,11 +71,11 @@ def test_anthropic_error_response_extracts_structured_metadata() -> None:
assert response.error_should_retry is True
def test_anthropic_error_response_marks_connection_kind() -> None:
def test_anthropic_handle_error_marks_connection_kind() -> None:
class FakeConnectionError(Exception):
pass
response = AnthropicProvider._error_response(FakeConnectionError("connection"))
response = AnthropicProvider._handle_error(FakeConnectionError("connection"))
assert response.finish_reason == "error"
assert response.error_kind == "connection"