use atrium_xrpc::HttpClient; pub struct DefaultHttpClient { client: reqwest::Client, } impl HttpClient for DefaultHttpClient { async fn send_http( &self, request: atrium_xrpc::http::Request>, ) -> core::result::Result< atrium_xrpc::http::Response>, Box, > { let response = self.client.execute(request.try_into()?).await?; let mut builder = atrium_xrpc::http::Response::builder().status(response.status()); for (k, v) in response.headers() { builder = builder.header(k, v); } builder .body(response.bytes().await?.to_vec()) .map_err(Into::into) } } impl Default for DefaultHttpClient { fn default() -> Self { Self { client: reqwest::Client::new(), } } }