ProxyOptions

class ProxyOptions


Defines a proxy configuration that can be used by CronetEngine.

Summary

Nested types

Defines behavior after all proxies in a ProxyOptions have failed.

Constants

const Int

Allows direct, non-proxied, traffic.

const Int

Disallows direct traffic.

Public functions

java-static ProxyOptions
fromProxyList(
    proxyList: (Mutable)List<Proxy!>,
    @ProxyOptions.AllProxiesFailedBehavior allProxiesFailedBehavior: Int
)

Constructs a proxy configuration out of a list of Proxy.

Constants

ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT

const val ALL_PROXIES_FAILED_BEHAVIOR_ALLOW_DIRECT = 1: Int

Allows direct, non-proxied, traffic.

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

ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT

const val ALL_PROXIES_FAILED_BEHAVIOR_DISALLOW_DIRECT = 0: Int

Disallows direct traffic.

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

Public functions

fromProxyList

java-static fun fromProxyList(
    proxyList: (Mutable)List<Proxy!>,
    @ProxyOptions.AllProxiesFailedBehavior allProxiesFailedBehavior: Int
): ProxyOptions

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 CronetEngine 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: (Mutable)List<Proxy!>

The list of Proxy that defines this configuration.

@ProxyOptions.AllProxiesFailedBehavior allProxiesFailedBehavior: Int

How CronetEngine must behave after it has failed to use all proxies in proxyList.

Throws
java.lang.IllegalArgumentException

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