summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-30 00:46:05 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-30 00:46:05 +0000
commite79d163caf09dbeeb5197576b8e364448f3bbac0 (patch)
treef267b25769bb93fee20856aefe508d4cc0655b62 /lib
parent1d7cfff09b59c1ca226777f7e50c90050249214e (diff)
* lib/open-uri.rb: Use `userinfo` for authenticated proxy.
[fix GH-1148] Patch by @SokichiFujita * test/open-uri/test_open-uri.rb: ditto. [fix GH-1309] Patch by @jdamick git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/open-uri.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/open-uri.rb b/lib/open-uri.rb
index 192f1e5711..489b83ac98 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -270,6 +270,9 @@ module OpenURI
if URI::HTTP === target
# HTTP or HTTPS
if proxy
+ unless proxy_user && proxy_pass
+ proxy_user, proxy_pass = proxy_uri.userinfo.split(':') if proxy_uri.userinfo
+ end
if proxy_user && proxy_pass
klass = Net::HTTP::Proxy(proxy_uri.hostname, proxy_uri.port, proxy_user, proxy_pass)
else