Struct NoProxy

struct NoProxy { ... }

A configuration for filtering out requests that shouldn't be proxied

Implementations

impl NoProxy

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

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 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.

impl Clone for NoProxy

fn clone(self: &Self) -> NoProxy

impl Debug for NoProxy

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl Default for NoProxy

fn default() -> NoProxy

impl Freeze for NoProxy

impl RefUnwindSafe for NoProxy

impl Send for NoProxy

impl Sync for NoProxy

impl Unpin for NoProxy

impl UnsafeUnpin for NoProxy

impl UnwindSafe for NoProxy

impl<T> Any for NoProxy

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for NoProxy

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for NoProxy

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for NoProxy

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> ErasedDestructor for NoProxy

impl<T> From for NoProxy

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for NoProxy

impl<T> PolicyExt for NoProxy

fn and<P, B, E>(self: Self, other: P) -> And<T, P>
where
    T: Policy<B, E>,
    P: Policy<B, E>
fn or<P, B, E>(self: Self, other: P) -> Or<T, P>
where
    T: Policy<B, E>,
    P: Policy<B, E>

impl<T> ToOwned for NoProxy

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T> WithSubscriber for NoProxy

impl<T, U> Into for NoProxy

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for NoProxy

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for NoProxy

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>