diff --git a/src/client.rs b/src/client.rs index 80c4f43..baae753 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,10 +1,11 @@ use crate::proxy::Proxy; use crate::record::{HTTPRecord, InternalRequest, InternalResponse}; // use crate::redirect::{Action, Attempt, Policy}; -use crate::{ConnectorBuilder, Result}; +use crate::{ConnectorBuilder, redirect, Result}; use bytes::Bytes; use http::HeaderMap; use std::io::{BufReader, Write}; +use std::sync::Arc; use std::time::Duration; #[derive(Clone, Debug, PartialEq)] @@ -29,7 +30,15 @@ impl Default for Config { } } } - +struct ClientRef { + // cookie_store: Option>, + headers: HeaderMap, + redirect_policy: redirect::Policy, + referer: bool, + request_timeout: Option, + read_timeout: Option, + proxies: Arc>, +} #[derive(Debug, Default, Clone, PartialEq)] pub struct Client { pub config: Config, @@ -70,7 +79,7 @@ pub fn http_request(request: InternalRequest) -> Result { let mut record = HTTPRecord::default(); let mut socket = ConnectorBuilder::default() .build()? - .connect_with_proxy(&request.uri)?; + .connect_with_uri(&request.uri)?; let mut certificate = None; if let Some(x509) = socket.peer_certificate() { certificate = Some(x509); diff --git a/src/connector.rs b/src/connector.rs index 9b63e74..f33ab4c 100644 --- a/src/connector.rs +++ b/src/connector.rs @@ -129,7 +129,7 @@ impl Connector { } Ok(InternalSocket::TCP(self.tcp.try_clone().unwrap())) } - pub fn connect_with_proxy(&self, target: &http::Uri) -> Result { + pub fn connect_with_uri(&self, target: &http::Uri) -> Result { ProxySocket::new(target, &self.proxy).conn_with_connector(self) } pub fn upgrade_to_tls(&self, stream: InternalSocket, domain: &str) -> Result { diff --git a/src/lib.rs b/src/lib.rs index df1ed84..1ace471 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,7 +6,7 @@ mod errors; mod parser; mod proxy; mod record; -// mod redirect; +mod redirect; mod socket; pub use client::{Client, Config};