handleDioError static method
Handle Dio errors specifically for DeepSeek
Implementation
static LLMError handleDioError(DioException e) {
final statusCode = e.response?.statusCode;
final responseData = e.response?.data;
if (statusCode != null) {
String errorMessage = 'DeepSeek API error';
// Extract error message from DeepSeek response format
if (responseData is Map<String, dynamic>) {
final error = responseData['error'];
if (error is Map<String, dynamic>) {
errorMessage = error['message']?.toString() ?? errorMessage;
} else if (error is String) {
errorMessage = error;
}
} else if (responseData is String) {
errorMessage = responseData;
}
return handleDeepSeekError(
statusCode,
errorMessage,
responseData is Map<String, dynamic> ? responseData : null,
);
}
// Fall back to standard Dio error handling
return DioErrorHandler.handleDioError(e, 'DeepSeek');
}