MatrixSynapse/synapse/http
Tim Leung ddb240293a
Add support for no_proxy and case insensitive env variables (#9372)
### Changes proposed in this PR

- Add support for the `no_proxy` and `NO_PROXY` environment variables
  - Internally rely on urllib's [`proxy_bypass_environment`](bdb941be42/Lib/urllib/request.py (L2519))
- Extract env variables using urllib's `getproxies`/[`getproxies_environment`](bdb941be42/Lib/urllib/request.py (L2488)) which supports lowercase + uppercase, preferring lowercase, except for `HTTP_PROXY` in a CGI environment

This does contain behaviour changes for consumers so making sure these are called out:
- `no_proxy`/`NO_PROXY` is now respected
- lowercase `https_proxy` is now allowed and taken over `HTTPS_PROXY`

Related to #9306 which also uses `ProxyAgent`

Signed-off-by: Timothy Leung tim95@hotmail.co.uk
2021-02-26 17:37:57 +00:00
..
federation
__init__.py
additional_resource.py
client.py Add support for no_proxy and case insensitive env variables (#9372) 2021-02-26 17:37:57 +00:00
connectproxyclient.py
matrixfederationclient.py
proxyagent.py Add support for no_proxy and case insensitive env variables (#9372) 2021-02-26 17:37:57 +00:00
request_metrics.py
server.py
servlet.py
site.py