pub struct NoProxy { /* private fields */ }
Expand description
A configuration for filtering out requests that shouldn’t be proxied
Implementations§
source§impl NoProxy
impl NoProxy
sourcepub fn from_env() -> Option<NoProxy>
pub fn from_env() -> Option<NoProxy>
Returns a new no-proxy configuration based on environment variables (or None
if no variables are set)
see self::NoProxy::from_string() for the string format
sourcepub fn from_string(no_proxy_list: &str) -> Option<Self>
pub fn from_string(no_proxy_list: &str) -> Option<Self>
Returns a new no-proxy configuration based on a no_proxy string (or None
if no variables
are set)
The rules are as follows:
- The environment variable
NO_PROXY
is checked, if it is not set,no_proxy
is checked - If neither environment variable is set,
None
is returned - Entries are expected to be comma-separated (whitespace between entries is ignored)
- IP addresses (both IPv4 and IPv6) are allowed, as are optional subnet masks (by adding /size,
for example “
192.168.1.0/24
”). - An entry “
*
” matches all hostnames (this is the only wildcard allowed) - Any other entry is considered a domain name (and may contain a leading dot, for example
google.com
and.google.com
are equivalent) and would match both that domain AND all subdomains.
For example, if "NO_PROXY=google.com, 192.168.1.0/24"
was set, all of the following would match
(and therefore would bypass the proxy):
http://google.com/
http://www.google.com/
http://192.168.1.42/
The URL http://notgoogle.com/
would not match.