Feature #11195
closedAdd "no_proxy" parameter to Net::HTTP.new
Description
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.