Project

General

Profile

Actions

Feature #11195

closed

Add "no_proxy" parameter to Net::HTTP.new

Added by headius (Charles Nutter) almost 6 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:69402]

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.

Actions

Also available in: Atom PDF