ProxyController
public
abstract
class
ProxyController
extends Object
java.lang.Object | |
↳ | androidx.webkit.ProxyController |
Manages setting and clearing a process-specific override for the Android system-wide proxy
settings that govern network requests made by WebView
.
WebView may make network requests in order to fetch content that is not otherwise read from the file system or provided directly by application code. In this case by default the system-wide Android network proxy settings are used to redirect requests to appropriate proxy servers.
In the rare case that it is necessary for an application to explicitly specify its proxy configuration, this API may be used to explicitly specify the proxy rules that govern WebView initiated network requests.
Example usage:
ProxyConfig proxyConfig = new ProxyConfig.Builder().addProxyRule("myproxy.com") .addBypassRule("www.excluded.*") .build(); Executor executor = ... Runnable listener = ... ProxyController.getInstance().setProxyOverride(proxyConfig, executor, listener); ... ProxyController.getInstance().clearProxyOverride(executor, listener);
Summary
Public methods | |
---|---|
abstract
void
|
clearProxyOverride(Executor executor, Runnable listener)
Clears the proxy settings. |
static
ProxyController
|
getInstance()
Returns the |
abstract
void
|
setProxyOverride(ProxyConfig proxyConfig, Executor executor, Runnable listener)
Sets |
Inherited methods | |
---|---|
Public methods
clearProxyOverride
public abstract void clearProxyOverride (Executor executor, Runnable listener)
Clears the proxy settings. Network connections are not guaranteed to immediately use the new proxy setting; wait for the listener before loading a page. This listener will be called in the provided executor.
Parameters | |
---|---|
executor |
Executor : Executor for the listener to be executed in |
listener |
Runnable : Listener called when the proxy setting change has been applied
|
getInstance
public static ProxyController getInstance ()
Returns the ProxyController
instance.
This method should only be called if WebViewFeature.isFeatureSupported(String)
returns true
for WebViewFeature.PROXY_OVERRIDE
.
Returns | |
---|---|
ProxyController |
setProxyOverride
public abstract void setProxyOverride (ProxyConfig proxyConfig, Executor executor, Runnable listener)
Sets ProxyConfig
which will be used by all WebViews in the app. URLs that match
patterns in the bypass list will not be directed to any proxy. Instead, the request will be
made directly to the origin specified by the URL. Network connections are not guaranteed to
immediately use the new proxy setting; wait for the listener before loading a page. This
listener will be called in the provided executor.
Note: calling setProxyOverride will cause any existing system wide setting to be ignored.
Parameters | |
---|---|
proxyConfig |
ProxyConfig : Proxy config to be applied |
executor |
Executor : Executor for the listener to be executed in |
listener |
Runnable : Listener called when the proxy setting change has been applied |
Throws | |
---|---|
IllegalArgumentException |
If the proxyConfig is invalid |