use std::{collections::HashMap, io::Read}; use anyhow::Error; use http::{Request, Response}; pub trait HttpClient { fn get( &self, uri: &str, extra_headers: Option<&HashMap>, ) -> Result, Error>; fn post( &self, uri: &str, body: Option, content_type: Option<&str>, extra_headers: Option<&HashMap>, ) -> Result, Error> where R: Read; fn request(&self, request: Request) -> Result, Error>; }