Files
dify/api/services/errors/__init__.py
GareArc 2b739b9544 fix: handle enterprise API errors properly to prevent KeyError crashes
When enterprise API returns 403/404, the response contains error JSON
instead of expected data structure. Code was accessing fields directly
causing KeyError → 500 Internal Server Error.

Changes:
- Add enterprise-specific error classes (EnterpriseAPIError, etc.)
- Implement centralized error validation in EnterpriseRequest.send_request()
- Extract error messages from API responses (message/error/detail fields)
- Raise domain-specific errors based on HTTP status codes
- Preserve backward compatibility with raise_for_status parameter

This prevents KeyError crashes and returns proper HTTP error codes
(403/404) instead of 500 errors.
2026-03-04 19:53:43 -08:00

30 lines
377 B
Python

from . import (
account,
app,
app_model_config,
audio,
base,
conversation,
dataset,
document,
enterprise,
file,
index,
message,
)
__all__ = [
"account",
"app",
"app_model_config",
"audio",
"base",
"conversation",
"dataset",
"document",
"enterprise",
"file",
"index",
"message",
]