use crate::GraphQLQuery;
use reqwest_crate as reqwest;
#[cfg(any(feature = "reqwest", feature = "reqwest-rustls"))]
pub async fn post_graphql<Q: GraphQLQuery, U: reqwest::IntoUrl>(
client: &reqwest::Client,
url: U,
variables: Q::Variables,
) -> Result<crate::Response<Q::ResponseData>, reqwest::Error> {
let body = Q::build_query(variables);
let reqwest_response = client.post(url).json(&body).send().await?;
reqwest_response.json().await
}
#[cfg(feature = "reqwest-blocking")]
pub fn post_graphql_blocking<Q: GraphQLQuery, U: reqwest::IntoUrl>(
client: &reqwest::blocking::Client,
url: U,
variables: Q::Variables,
) -> Result<crate::Response<Q::ResponseData>, reqwest::Error> {
let body = Q::build_query(variables);
let reqwest_response = client.post(url).json(&body).send()?;
reqwest_response.json()
}