aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/open-uri.rb16
2 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a4fcaa7ab5..f39b6c95ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Nov 25 18:56:06 2003 Tanaka Akira <akr@m17n.org>
+
+ * lib/open-uri.rb (URI::Generic#find_proxy): ENV case sensitivity test
+ refined.
+
Tue Nov 25 18:13:30 2003 Minero Aoki <aamine@loveruby.net>
* test/fileutils/test_fileutils.rb: chdir Dir.tmpdir before each
diff --git a/lib/open-uri.rb b/lib/open-uri.rb
index 168bc0a76d..917f385cec 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -458,9 +458,19 @@ module URI
# HTTP_PROXY conflicts with *_proxy for proxy settings and
# HTTP_* for header informatin in CGI.
# So it should be careful to use it.
- case_sentsitive = /djgpp|bccwin32|mingw|mswin32|mswince|emx/ !~ RUBY_PLATFORM
- if case_sentsitive
- # http_proxy is safe to use.
+ pairs = ENV.reject {|k, v| /\Ahttp_proxy\z/i !~ k }
+ case pairs.length
+ when 0 # no proxy setting anyway.
+ proxy_uri = nil
+ when 1
+ k, v = pairs[0]
+ if k == 'http_proxy' && ENV[k.upcase] == nil
+ # http_proxy is safe to use becase ENV is case sensitive.
+ proxy_uri = ENV[name]
+ else
+ proxy_uri = nil
+ end
+ else # http_proxy is safe to use becase ENV is case sensitive.
proxy_uri = ENV[name]
end
if !proxy_uri