Add support for system/environment proxies (#547)
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							564a08f230
						
					
				
				
					commit
					577d06c363
				
			| @@ -36,6 +36,7 @@ use into_url::{expect_uri, try_uri}; | ||||
| use cookie; | ||||
| use redirect::{self, RedirectPolicy, remove_sensitive_headers}; | ||||
| use {IntoUrl, Method, Proxy, StatusCode, Url}; | ||||
| use ::proxy::get_proxies; | ||||
| #[cfg(feature = "tls")] | ||||
| use {Certificate, Identity}; | ||||
| #[cfg(feature = "tls")] | ||||
| @@ -327,6 +328,26 @@ impl ClientBuilder { | ||||
|         self | ||||
|     } | ||||
|  | ||||
|     /// Clear all `Proxies`, so `Client` will use no proxy anymore. | ||||
|     pub fn no_proxy(mut self) -> ClientBuilder { | ||||
|         self.config.proxies.clear(); | ||||
|         self | ||||
|     } | ||||
|  | ||||
|     /// Add system proxy setting to the list of proxies | ||||
|     pub fn use_sys_proxy(mut self) -> ClientBuilder { | ||||
|         let proxies = get_proxies(); | ||||
|         self.config.proxies.push(Proxy::custom(move |url| { | ||||
|             return if proxies.contains_key(url.scheme()) { | ||||
|                 Some((*proxies.get(url.scheme()).unwrap()).clone()) | ||||
|             } else { | ||||
|                 None | ||||
|             } | ||||
|         })); | ||||
|         self | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /// Set a `RedirectPolicy` for this client. | ||||
|     /// | ||||
|     /// Default will follow redirects up to a maximum of 10. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user