use crate::framework::{
endpoint::HerokuEndpoint,
response::{ApiResponse, ApiResult},
};
use serde::Serialize;
pub trait HerokuApiClient {
fn request<ResultType, QueryType, BodyType>(
&self,
endpoint: &dyn HerokuEndpoint<ResultType, QueryType, BodyType>,
) -> ApiResponse<ResultType>
where
ResultType: ApiResult,
QueryType: Serialize,
BodyType: Serialize;
fn request_raw<ResultType, QueryType, BodyType>(
&self,
endpoint: &dyn HerokuEndpoint<ResultType, QueryType, BodyType>,
) -> ApiResponse<reqwest::blocking::Response>
where
ResultType: ApiResult,
QueryType: Serialize,
BodyType: Serialize;
}