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.
Updated by headius (Charles Nutter) about 11 years ago
Updated by chucke (Tiago Cardoso) about 10 years ago
+1, I'm also having issues with this.
Updated by shyouhei (Shyouhei Urabe) almost 10 years ago
- Status changed from Open to Feedback
We looked at this issue at yesterday's developer meeting. We agreed this feature is good, but sadly no active mentor was there for Net::HTTP.
Maybe could someone propose us a patch to implement this?
Updated by roeme (Roman Bigler) almost 10 years ago
+1, I'm sure this costs quite a few people in $BIGCORPs som time to work around
Shyouhei Urabe wrote:
We looked at this issue at yesterday's developer meeting. We agreed this feature is good, but sadly no active mentor was there for Net::HTTP.
Maybe could someone propose us a patch to implement this?
No promises, and an absolute noob when it comes to this, but I'll have a look.
Edit: Sorry for the noise, but I just discovered that the necessary code seems to be present in 2.2.x. Not sure if this could be closed then (backports).
Updated by shyouhei (Shyouhei Urabe) almost 10 years ago
We looked at this issue in developer meeting today.
This feature is not implemented yet. And attendees wondered if Net::HTTP is the right place to implement no_proxy because it is the lowest layer of HTTP processing in Ruby.
uri/generic has find_proxy already so refactoring this library sounds more reasonable.
Roman, would you mind if I ask you about a pull request (against ruby/ruby), following that way?
Updated by naruse (Yui NARUSE) almost 9 years ago
- Tracker changed from Bug to Feature
- Backport deleted (
2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN)
Updated by naruse (Yui NARUSE) almost 9 years ago
- Status changed from Feedback to Closed