| Index: sdk/lib/io/http.dart
|
| diff --git a/sdk/lib/io/http.dart b/sdk/lib/io/http.dart
|
| index 912a366d737af66da4a3bdca182ba71b277fcba2..9a54af20c27d0421de5a5aebcb119a3653b36218 100644
|
| --- a/sdk/lib/io/http.dart
|
| +++ b/sdk/lib/io/http.dart
|
| @@ -866,10 +866,64 @@ abstract class HttpClient {
|
| * separated by semicolons, e.g.
|
| *
|
| * "PROXY host:port; PROXY host2:port2; DIRECT"
|
| + *
|
| + * The static function [findProxyFromEnvironment] on this class can
|
| + * be used to implement proxy server resolving based on environment
|
| + * variables.
|
| */
|
| set findProxy(String f(Uri url));
|
|
|
| /**
|
| + * Function for resolving the proxy server to be used for a HTTP
|
| + * connection from the proxy configuration specified through
|
| + * environment variables.
|
| + *
|
| + * The following environment variables are taken into account:
|
| + *
|
| + * * http_proxy
|
| + * * https_proxy
|
| + * * no_proxy
|
| + * * HTTP_PROXY
|
| + * * HTTPS_PROXY
|
| + * * NO_PROXY
|
| + *
|
| + * [:http_proxy:] and [:HTTP_PROXY:] specify the proxy server to use for
|
| + * http:// urls. Use the format [:hostname:port:]. If no port is used a
|
| + * default of 1080 will be used. If both are set the lower case one takes
|
| + * precedence.
|
| + *
|
| + * [:https_proxy:] and [:HTTPS_PROXY:] specify the proxy server to use for
|
| + * https:// urls. Use the format [:hostname:port:]. If no port is used a
|
| + * default of 1080 will be used. If both are set the lower case one takes
|
| + * precedence.
|
| + *
|
| + * [:no_proxy:] and [:NO_PROXY:] specify a comma separated list of
|
| + * postfixes of hostnames for which not to use the proxy
|
| + * server. E.g. the value "localhost,127.0.0.1" will make requests
|
| + * to both "localhost" and "127.0.0.1" not use a proxy. If both are set
|
| + * the lower case one takes precedence.
|
| + *
|
| + * To activate this way of resolving proxies assign this function to
|
| + * the [findProxy] property on the [HttpClient].
|
| + *
|
| + * HttpClient client = new HttpClient();
|
| + * client.findProxy = HttpClient.findProxyFromEnvironment;
|
| + *
|
| + * If you don't want to use the system environment you can use a
|
| + * different one by wrapping the function.
|
| + *
|
| + * HttpClient client = new HttpClient();
|
| + * client.findProxy = (url) {
|
| + * return HttpClient.findProxyFromEnvironment(
|
| + * url, {"http_proxy": ..., "no_proxy": ...});
|
| + * }
|
| + */
|
| + static String findProxyFromEnvironment(Uri url,
|
| + {Map<String, String> environment}) {
|
| + return _HttpClient._findProxyFromEnvironment(url, environment);
|
| + }
|
| +
|
| + /**
|
| * Shutdown the HTTP client. If [force] is [:false:] (the default)
|
| * the [:HttpClient:] will be kept alive until all active
|
| * connections are done. If [force] is [:true:] any active
|
|
|