]> source.dussan.org Git - nextcloud-server.git/commit
Add support for GuzzleHTTP 'no' proxy 17684/head
authorMohammed Abdellatif <m.latief@gmail.com>
Fri, 25 Oct 2019 19:21:32 +0000 (19:21 +0000)
committerMohammed Abdellatif <m.latief@gmail.com>
Sat, 29 Feb 2020 17:19:23 +0000 (19:19 +0200)
commit98d6415264c1f211f50ee7a0b336103a488c3608
tree412bc17cede241df5f4b4b97377169f45e48c2c9
parent1e16fa7a8fc72f2a491ff90f9a5b5a194e78d796
Add support for GuzzleHTTP 'no' proxy

The custom config allows to setup a proxy URI that is passed to
GuzzleHTTP client as request options. Guzzle has the option to receive
an array of proxies for each URI scheme as well as 'no' key value pair
to provide a list of host names that should not be proxied to.

Guzzle would automatically populate these options with HTTPS_PROXY
and NO_PROXY environment variables. However, when providing a 'proxy'
request option, default values will be overriden and it is required to
explicitly provide the 'no' value if needed.

More info:
http://docs.guzzlephp.org/en/stable/request-options.html#proxy

This commit will add support for a new config 'proxyexclude', which
takes a list of host names to be excluded.

It will also provide 'proxy' request option as an array instead of a
string to Guzzle, and populate 'http' and 'https' URI schemes with
proxy URI, and 'no' with 'proxyexclude' list.

Also, if no 'proxy' is configured, it will leave out 'proxy' request
option, so it won't override Guzzle default values.

Sample config file includes a hint on how to explicitly sync
'proxyexclude' with NO_PROXY, and a note about default values.

Signed-off-by: Mohammed Abdellatif <m.latief@gmail.com>
config/config.sample.php
lib/private/Http/Client/Client.php
tests/lib/Http/Client/ClientTest.php