1
0
Fork 0

also support NO_PROXY

since WINDOWS can only have one case and that is usually upperase
pull/6740/head
croensch 2017-10-12 16:35:05 +02:00
parent edece864e7
commit 6da92e98ac
3 changed files with 6 additions and 4 deletions

View File

@ -814,10 +814,10 @@ similar use case), and need to support proxies, please provide the `CGI_HTTP_PRO
environment variable instead. See [httpoxy.org](https://httpoxy.org/) for further environment variable instead. See [httpoxy.org](https://httpoxy.org/) for further
details. details.
### no_proxy ### no_proxy or NO_PROXY
If you are behind a proxy and would like to disable it for certain domains, you If you are behind a proxy and would like to disable it for certain domains, you
can use the `no_proxy` env var. Simply set it to a comma separated list of can use the `no_proxy` or `NO_PROXY` env var. Simply set it to a comma separated list of
domains the proxy should *not* be used for. domains the proxy should *not* be used for.
The env var accepts domains, IP addresses, and IP address blocks in CIDR The env var accepts domains, IP addresses, and IP address blocks in CIDR

View File

@ -55,8 +55,8 @@ final class StreamContextFactory
} }
// Remove proxy if URL matches no_proxy directive // Remove proxy if URL matches no_proxy directive
if (!empty($_SERVER['no_proxy']) && parse_url($url, PHP_URL_HOST)) { if (!empty($_SERVER['NO_PROXY']) || $_SERVER['no_proxy']) && parse_url($url, PHP_URL_HOST)) {
$pattern = new NoProxyPattern($_SERVER['no_proxy']); $pattern = new NoProxyPattern(!empty($_SERVER['no_proxy']) ? $_SERVER['no_proxy'] : $_SERVER['NO_PROXY']);
if ($pattern->test($url)) { if ($pattern->test($url)) {
unset($proxy); unset($proxy);
} }

View File

@ -22,6 +22,7 @@ class StreamContextFactoryTest extends \PHPUnit_Framework_TestCase
unset($_SERVER['http_proxy']); unset($_SERVER['http_proxy']);
unset($_SERVER['HTTPS_PROXY']); unset($_SERVER['HTTPS_PROXY']);
unset($_SERVER['https_proxy']); unset($_SERVER['https_proxy']);
unset($_SERVER['NO_PROXY']);
unset($_SERVER['no_proxy']); unset($_SERVER['no_proxy']);
} }
@ -31,6 +32,7 @@ class StreamContextFactoryTest extends \PHPUnit_Framework_TestCase
unset($_SERVER['http_proxy']); unset($_SERVER['http_proxy']);
unset($_SERVER['HTTPS_PROXY']); unset($_SERVER['HTTPS_PROXY']);
unset($_SERVER['https_proxy']); unset($_SERVER['https_proxy']);
unset($_SERVER['NO_PROXY']);
unset($_SERVER['no_proxy']); unset($_SERVER['no_proxy']);
} }