pub async fn fetch_index_content(url: &str) -> Result<String, Box<dyn std::error::Error>> {
let response = reqwest::get(url).await;
let index_content_from_url = match response {
Ok(resp) => {
if resp.status().is_success() {
resp.text().await?
} else {
let error_message = format!("🔸 Failed to fetch data: Server returned status {}", resp.status());
println!("{}", error_message); return Err(error_message.into());
}
}
Err(e) => {
let error_message = format!("🔸 Failed to fetch data: {}", e);
println!("{}", error_message); return Err(error_message.into());
}
};
if index_content_from_url.is_empty() {
let error_message = "🔸 Failed to fetch data: The server returned an empty response.";
println!("{}", error_message); return Err(error_message.into());
}
Ok(index_content_from_url)
}