gsm_core/http/mod.rs
1use anyhow::Result;
2use async_trait::async_trait;
3use bytes::Bytes;
4use http::{HeaderMap, Request, StatusCode};
5
6#[derive(Debug, Clone)]
7pub struct RawResponse {
8 pub status: StatusCode,
9 pub headers: HeaderMap,
10 pub body: Bytes,
11}
12
13pub type RawRequest = Request<Bytes>;
14
15#[async_trait]
16pub trait HttpClient: Send + Sync {
17 async fn execute(&self, request: Request<Bytes>) -> Result<RawResponse>;
18}