use reqwest::{Client, Request, RequestBuilder, Response}; use std::fmt::Debug; use Result; pub trait HttpSend: Clone + Debug { fn execute(&self, client: &Client, request: Request) -> Result; fn send(&self, client: &Client, builder: &mut RequestBuilder) -> Result { let request = builder.build()?; self.execute(client, request) } } #[derive(Clone, Copy, Debug, PartialEq)] pub struct HttpSender; impl HttpSend for HttpSender { fn execute(&self, client: &Client, request: Request) -> Result { Ok(client.execute(request)?) } }