Major refactoring: HTTP client unification and project restructuring
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 13m53s
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 13m53s
## HTTP Client Refactoring - Create unified HttpClient module (src/http_client.rs) - Refactor 24 files to use shared HTTP client - Replace .unwrap() with proper error handling - Eliminate code duplication in HTTP requests ## Project Restructuring - Rename package: ai → aibot - Add dual binary support: aibot (main) + ai (compatibility alias) - Migrate config directory: ~/.config/ai/ → ~/.config/syui/ai/bot/ - Implement backward compatibility with automatic migration ## Testing Infrastructure - Add unit tests for HttpClient - Create test infrastructure with cargo-make - Add test commands: test, test-quick, test-verbose ## Documentation - Complete migration guide with step-by-step instructions - Updated development guide with new structure - HTTP client API reference documentation - Comprehensive refactoring summary ## Files Changed - Modified: 24 source files (HTTP client integration) - Added: src/http_client.rs, src/alias.rs, src/tests/ - Added: 5 documentation files in docs/ - Added: migration setup script 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -1,27 +1,14 @@
|
||||
extern crate reqwest;
|
||||
use crate::data_refresh;
|
||||
use crate::http_client::HttpClient;
|
||||
use crate::url;
|
||||
|
||||
pub async fn get_request(actor: String) -> String {
|
||||
let token = data_refresh(&"access");
|
||||
let url = url(&"record_list");
|
||||
|
||||
let actor = actor.to_string();
|
||||
//let cursor = cursor.unwrap();
|
||||
|
||||
let base_url = url(&"record_list");
|
||||
let col = "app.bsky.feed.post".to_string();
|
||||
let client = reqwest::Client::new();
|
||||
let res = client
|
||||
.get(url)
|
||||
.query(&[("repo", actor), ("collection", col)])
|
||||
//.query(&[("actor", actor),("cursor", cursor)])
|
||||
.header("Authorization", "Bearer ".to_owned() + &token)
|
||||
.send()
|
||||
.await
|
||||
.unwrap()
|
||||
.text()
|
||||
.await
|
||||
.unwrap();
|
||||
let url = format!("{}?repo={}&collection={}", base_url, actor, col);
|
||||
let client = HttpClient::new();
|
||||
|
||||
return res;
|
||||
match client.get_with_auth(&url).await {
|
||||
Ok(response) => response,
|
||||
Err(e) => format!("Error: {}", e),
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user