pub mod error;
pub mod responses;
use isahc::prelude::*;
use url::Url;
pub fn get<D>(url: Url) -> Result<D, error::Error> where D: serde::de::DeserializeOwned {
let uri: &str = url.as_str();
let Ok(mut response) = isahc::get(uri) else {
return Err(error::Error::NetworkFailure);
};
return match response.json() {
Ok(obj) => Ok(obj),
Err(err) => Err(error::Error::UnexpectedResponse(err)),
}
}