Issue #11195 has been updated by Shyouhei Urabe.


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?

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

* Author: Charles Nutter
* Status: Feedback
* 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/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>