mlb_api/request/
reqwest.rs1use crate::request::{Error, Result};
2use crate::types::StatsAPIError;
3use serde::de::DeserializeOwned;
4
5pub async fn get<T: DeserializeOwned>(url: &impl ToString) -> Result<T> {
6 let bytes = reqwest::Client::builder().build()?.get(url.to_string()).send().await?.bytes().await?;
7 let e = match serde_json::from_slice::<'_, T>(&bytes) {
8 Ok(t) => return Ok(t),
9 Err(e) => Error::Serde(e),
10 };
11 Err(Error::StatsAPI(serde_json::from_slice::<'_, StatsAPIError>(&bytes).map_err(|_| e)?))
12}