From: headius@... Date: 2015-05-28T22:37:45+00:00 Subject: [ruby-core:69402] [Ruby trunk - Bug #11195] [Open] Add "no_proxy" parameter to Net::HTTP.new 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/