yevm_misc/http.rs
1use serde::{Serialize, de::DeserializeOwned};
2
3pub struct Http(reqwest::Client);
4
5impl Default for Http {
6 fn default() -> Self {
7 Self::new()
8 }
9}
10
11impl Http {
12 pub fn new() -> Self {
13 Self(reqwest::Client::new())
14 }
15
16 pub async fn post<Q: Serialize, R: DeserializeOwned>(
17 &self,
18 url: &str,
19 body: &Q,
20 ) -> eyre::Result<R> {
21 let response = self.0.post(url).json(body).send().await?.json().await?;
22 Ok(response)
23 }
24}