Improve debug logging (#781)
This commit is contained in:
		| @@ -1189,13 +1189,13 @@ impl Future for PendingRequest { | |||||||
|  |  | ||||||
|                     match action { |                     match action { | ||||||
|                         redirect::ActionKind::Follow => { |                         redirect::ActionKind::Follow => { | ||||||
|  |                             debug!("redirecting '{}' to '{}'", self.url, loc); | ||||||
|                             self.url = loc; |                             self.url = loc; | ||||||
|  |  | ||||||
|                             let mut headers = |                             let mut headers = | ||||||
|                                 std::mem::replace(self.as_mut().headers(), HeaderMap::new()); |                                 std::mem::replace(self.as_mut().headers(), HeaderMap::new()); | ||||||
|  |  | ||||||
|                             remove_sensitive_headers(&mut headers, &self.url, &self.urls); |                             remove_sensitive_headers(&mut headers, &self.url, &self.urls); | ||||||
|                             debug!("redirecting to {:?} '{}'", self.method, self.url); |  | ||||||
|                             let uri = expect_uri(&self.url); |                             let uri = expect_uri(&self.url); | ||||||
|                             let body = match self.body { |                             let body = match self.body { | ||||||
|                                 Some(Some(ref body)) => Body::reusable(body.clone()), |                                 Some(Some(ref body)) => Body::reusable(body.clone()), | ||||||
| @@ -1224,7 +1224,7 @@ impl Future for PendingRequest { | |||||||
|                             continue; |                             continue; | ||||||
|                         } |                         } | ||||||
|                         redirect::ActionKind::Stop => { |                         redirect::ActionKind::Stop => { | ||||||
|                             debug!("redirect_policy disallowed redirection to '{}'", loc); |                             debug!("redirect policy disallowed redirection to '{}'", loc); | ||||||
|                         } |                         } | ||||||
|                         redirect::ActionKind::Error(err) => { |                         redirect::ActionKind::Error(err) => { | ||||||
|                             return Poll::Ready(Err(crate::error::redirect( |                             return Poll::Ready(Err(crate::error::redirect( | ||||||
| @@ -1235,6 +1235,8 @@ impl Future for PendingRequest { | |||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |             debug!("response '{}' for {}", res.status(), self.url); | ||||||
|             let res = Response::new(res, self.url.clone(), self.client.gzip, self.timeout.take()); |             let res = Response::new(res, self.url.clone(), self.client.gzip, self.timeout.take()); | ||||||
|             return Poll::Ready(Ok(res)); |             return Poll::Ready(Ok(res)); | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -9,7 +9,6 @@ use http; | |||||||
| use hyper::client::connect::HttpInfo; | use hyper::client::connect::HttpInfo; | ||||||
| use hyper::header::CONTENT_LENGTH; | use hyper::header::CONTENT_LENGTH; | ||||||
| use hyper::{HeaderMap, StatusCode, Version}; | use hyper::{HeaderMap, StatusCode, Version}; | ||||||
| use log::debug; |  | ||||||
| use mime::Mime; | use mime::Mime; | ||||||
| #[cfg(feature = "json")] | #[cfg(feature = "json")] | ||||||
| use serde::de::DeserializeOwned; | use serde::de::DeserializeOwned; | ||||||
| @@ -50,7 +49,6 @@ impl Response { | |||||||
|         let mut headers = parts.headers; |         let mut headers = parts.headers; | ||||||
|         let decoder = Decoder::detect(&mut headers, Body::response(body, timeout), gzip); |         let decoder = Decoder::detect(&mut headers, Body::response(body, timeout), gzip); | ||||||
|  |  | ||||||
|         debug!("Response: '{}' for {}", status, url); |  | ||||||
|         Response { |         Response { | ||||||
|             status, |             status, | ||||||
|             headers, |             headers, | ||||||
|   | |||||||
| @@ -293,7 +293,7 @@ impl Connector { | |||||||
|         dst: Uri, |         dst: Uri, | ||||||
|         proxy_scheme: ProxyScheme, |         proxy_scheme: ProxyScheme, | ||||||
|     ) -> Result<Conn, BoxError> { |     ) -> Result<Conn, BoxError> { | ||||||
|         log::trace!("proxy({:?}) intercepts {:?}", proxy_scheme, dst); |         log::debug!("proxy({:?}) intercepts '{:?}'", proxy_scheme, dst); | ||||||
|  |  | ||||||
|         let (proxy_dst, _auth) = match proxy_scheme { |         let (proxy_dst, _auth) = match proxy_scheme { | ||||||
|             ProxyScheme::Http { host, auth } => (into_uri(Scheme::HTTP, host), auth), |             ProxyScheme::Http { host, auth } => (into_uri(Scheme::HTTP, host), auth), | ||||||
| @@ -421,8 +421,7 @@ where | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| impl Service<Uri> for Connector | impl Service<Uri> for Connector { | ||||||
| { |  | ||||||
|     type Response = Conn; |     type Response = Conn; | ||||||
|     type Error = BoxError; |     type Error = BoxError; | ||||||
|     type Future = Connecting; |     type Future = Connecting; | ||||||
| @@ -432,6 +431,7 @@ impl Service<Uri> for Connector | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     fn call(&mut self, dst: Uri) -> Self::Future { |     fn call(&mut self, dst: Uri) -> Self::Future { | ||||||
|  |         log::debug!("starting new connection: {:?}", dst); | ||||||
|         let timeout = self.timeout; |         let timeout = self.timeout; | ||||||
|         for prox in self.proxies.iter() { |         for prox in self.proxies.iter() { | ||||||
|             if let Some(proxy_scheme) = prox.intercept(&dst) { |             if let Some(proxy_scheme) = prox.intercept(&dst) { | ||||||
|   | |||||||
							
								
								
									
										34
									
								
								src/proxy.rs
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								src/proxy.rs
									
									
									
									
									
								
							| @@ -55,7 +55,7 @@ pub struct Proxy { | |||||||
| /// A particular scheme used for proxying requests. | /// A particular scheme used for proxying requests. | ||||||
| /// | /// | ||||||
| /// For example, HTTP vs SOCKS5 | /// For example, HTTP vs SOCKS5 | ||||||
| #[derive(Clone, Debug)] | #[derive(Clone)] | ||||||
| pub enum ProxyScheme { | pub enum ProxyScheme { | ||||||
|     Http { |     Http { | ||||||
|         auth: Option<HeaderValue>, |         auth: Option<HeaderValue>, | ||||||
| @@ -434,6 +434,38 @@ impl ProxyScheme { | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | impl fmt::Debug for ProxyScheme { | ||||||
|  |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ||||||
|  |         match self { | ||||||
|  |             ProxyScheme::Http { | ||||||
|  |                 auth: _auth, | ||||||
|  |                 host, | ||||||
|  |             } => { | ||||||
|  |                 write!(f, "http://{}", host) | ||||||
|  |             }, | ||||||
|  |             ProxyScheme::Https { | ||||||
|  |                 auth: _auth, | ||||||
|  |                 host, | ||||||
|  |             } => { | ||||||
|  |                 write!(f, "https://{}", host) | ||||||
|  |             }, | ||||||
|  |             #[cfg(feature = "socks")] | ||||||
|  |             ProxyScheme::Socks5 { | ||||||
|  |                 addr, | ||||||
|  |                 auth: _auth, | ||||||
|  |                 remote_dns, | ||||||
|  |             } => { | ||||||
|  |                 let h = if *remote_dns { | ||||||
|  |                     "h" | ||||||
|  |                 } else { | ||||||
|  |                     "" | ||||||
|  |                 }; | ||||||
|  |                 write!(f, "socks5{}://{}", h, addr) | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
| type SystemProxyMap = HashMap<String, ProxyScheme>; | type SystemProxyMap = HashMap<String, ProxyScheme>; | ||||||
|  |  | ||||||
| #[derive(Clone, Debug)] | #[derive(Clone, Debug)] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user