Issue #11195 has been reported by Charles Nutter.

----------------------------------------
Bug #11195: Add "no_proxy" parameter to Net::HTTP.new
https://bugs.ruby-lang.org/issues/11195

* Author: Charles Nutter
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: 
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Net::HTTP.new currently accepts parameters for proxy host, proxy port, proxy username, and proxy password.

It does not accept an argument for non-proxied addresses, and as a result specifying a proxy host will use that proxy unconditionally.

Compare this with the default ENV behavior, which *does* honor the "no_proxy" env var. So the only way you can set up a proxy AND have it honor non-proxied addresses is to use ENV.

I propose that we add one more trailing argument for non-proxied hosts, since this is an unavoidable part of http proxying.

I would have made the change myself, but it involved a bit more work than just adding the param; the logic for honoring "no_proxy" only exists in the ENV logic, and when specified directly there's no affordance for non-proxied addresses in the rest of net/http.

This might be easier if we make uri/generic.rb's find_proxy accept an optional hash from which to look up these values. Then we just store them in Net::HTTP as a local version of ENV.



-- 
https://bugs.ruby-lang.org/