ProxyOptions


public final class ProxyOptions
extends Object

java.lang.Object
   ↳ android.net.http.ProxyOptions


Defines a proxy configuration that can be used by HttpEngine.

Summary

Constants

int ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT

Allows direct, non-proxied, traffic.

int ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT

Disallows direct traffic.

Public methods

static ProxyOptions fromProxyList(List<Proxy> proxyList, int allProxiesFailedBehavior)

Constructs a proxy configuration out of a list of Proxy.

Inherited methods

Constants

ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT

public static final int ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT

Allows direct, non-proxied, traffic.

This defines a fail-open behavior: if all proxies in a ProxyOptions have failed, HttpEngine will fall back onto non-proxied connections.

Constant Value: 1 (0x00000001)

ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT

public static final int ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT

Disallows direct traffic.

This defines a fail-closed behavior: if all proxies in a ProxyOptions have failed, HttpEngine won't fall back onto non-proxied connections.

Constant Value: 0 (0x00000000)

Public methods

fromProxyList

public static ProxyOptions fromProxyList (List<Proxy> proxyList, 
                int allProxiesFailedBehavior)

Constructs a proxy configuration out of a list of Proxy.

Proxies in the list will be used in order. Proxy in position N+1 will be used only if HttpEngine failed to use proxy in position N. If proxy in position N fails, for any reason (including tunnel closures triggered via Proxy.HttpConnectCallback), but proxy in position N+1 succeeds, proxies in position N will be temporarily deprioritized. While a proxy is deprioritized it will be used only as a last resort.

Parameters
proxyList List: The list of Proxy that defines this configuration.
This value cannot be null.

allProxiesFailedBehavior int: How HttpEngine must behave after it has failed to use all proxies in proxyList.
Value is one of the following:
Returns
ProxyOptions This value cannot be null.

Throws
IllegalArgumentException If the proxy list is empty, or any element is null.