handleDioError method
Handle Dio exceptions with consistent error mapping
Implementation
LLMError handleDioError(DioException e) {
final error = DioErrorHandler.handleDioError(e, providerName);
// Log the error with provider context
switch (e.type) {
case DioExceptionType.connectionTimeout:
case DioExceptionType.sendTimeout:
case DioExceptionType.receiveTimeout:
_logger.warning('$providerName timeout error: ${error.message}');
break;
case DioExceptionType.badResponse:
final statusCode = e.response?.statusCode;
final data = e.response?.data;
_logger.warning('$providerName bad response: $statusCode, data: $data');
break;
case DioExceptionType.connectionError:
_logger.warning('$providerName connection error: ${error.message}');
break;
case DioExceptionType.badCertificate:
_logger.warning('$providerName SSL error: ${error.message}');
break;
default:
_logger.warning('$providerName error: ${error.message}');
break;
}
return error;
}