use crate::error::ReturnError;
#[cfg(feature = "async_mode")]
use crate::request_async;
#[cfg(feature = "sync_mode")]
use crate::request_sync;
fn check_empty_response(response: &str) -> Result<(), ReturnError> {
if response.is_empty() { return Err(ReturnError::EmptyResponse); }
Ok(())
}
#[cfg(feature = "async_mode")]
fn make_request_async(url: &str) -> Result<String, ReturnError> {
let response = request_async::do_request(&url)?;
check_empty_response(&response)?;
Ok(response)
}
#[cfg(feature = "sync_mode")]
fn make_request_sync(url: &str) -> Result<String, ReturnError> {
let response = request_sync::do_request(&url)?;
check_empty_response(&response)?;
Ok(response)
}
pub(crate) fn make_request(url: &str) -> Result<String, ReturnError> {
#[cfg(feature = "async_mode")]
return make_request_async(url);
#[cfg(feature = "sync_mode")]
return make_request_sync(url);
}