返回提交历史
Modified
g4f/Provider/needs_auth/Antigravity.py
+2
-11
Modified
g4f/Provider/needs_auth/GeminiCLI.py
+2
-6
XFEstudio/gpt4free
Refactor error handling in Antigravity and GeminiCLI providers to use raise_for_status for improved clarity and maintainability
7d897c74
代码差异
2 个文件
+4
-17
@@ -31,6 +31,7 @@ from aiohttp import ClientSession, ClientTimeout
31
31
32
32
from ...typing import AsyncResult, Messages, MediaListType
33
33
from ...errors import MissingAuthError, RateLimitError
34
from ...requests.raise_for_status import raise_for_status
34
35
from ...image.copy_images import save_response_media
35
36
from ...image import to_bytes, is_data_an_media
36
37
from ...providers.response import Usage, ImageResponse, ToolCalls, Reasoning
@@ -1239,17 +1240,7 @@ class AntigravityProvider:
1239
1240
resp = await session.post(url, json=req_body)
1240
1241
if not resp.ok:
1241
1242
debug.error(f"Retry after 503 failed with status {resp.status}")
1242
if not resp.ok:
1243
if resp.status == 401:
1244
raise MissingAuthError("Unauthorized (401) from Antigravity API")
1245
elif resp.status == 429:
1246
try:
1247
message = (await resp.json(content_type=None)).get("error", {}).get("message", "")
1248
except Exception as e:
1249
debug.error("Error parsing error message:", e)
1250
message = await resp.text()
1251
raise RateLimitError(f"Error 429: {message}")
1252
raise RuntimeError(f"Antigravity API error {resp.status}: {await resp.text()}")
1243
await raise_for_status(resp)
1253
1244
1254
1245
usage_metadata = {}
1255
1246
openai_tool_calls = []
@@ -20,6 +20,7 @@ from aiohttp import ClientSession, ClientTimeout
20
20
21
21
from ...typing import AsyncResult, Messages, MediaListType
22
22
from ...errors import MissingAuthError
23
from ...requests.raise_for_status import raise_for_status
23
24
from ...image.copy_images import save_response_media
24
25
from ...image import to_bytes, is_data_an_media
25
26
from ...providers.response import Usage, ImageResponse, ToolCalls, Reasoning
@@ -809,12 +810,7 @@ class GeminiCLIProvider():
809
810
810
811
async with ClientSession(headers=headers, timeout=timeout, connector=connector) as session:
811
812
async with session.post(url, json=req_body) as resp:
812
if not resp.ok:
813
if resp.status == 401:
814
# Possibly token expired: try login retry logic, omitted here for brevity
815
raise MissingAuthError(f"Unauthorized (401) from Gemini API")
816
error_body = await resp.text()
817
raise RuntimeError(f"Gemini API error {resp.status}: {error_body}")
813
await raise_for_status(resp)
818
814
819
815
usage_metadata = {}
820
816
openai_tool_calls = []