Skip to main content

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}