summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/net/http.rb4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 27af2cdad2..303cacca06 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jun 28 15:20:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/net/http.rb (Net::HTTP#proxy_uri): cache the case no proxy
+ is used.
+
Tue Jun 28 09:56:29 2016 Stefan Schussler <mail@stefanschuessler.de>
* object.c (rb_mod_eqq): [DOC] Fix typo in RDoc. [Fix GH-1393]
diff --git a/lib/net/http.rb b/lib/net/http.rb
index 326d737692..4738bc621a 100644
--- a/lib/net/http.rb
+++ b/lib/net/http.rb
@@ -1049,9 +1049,11 @@ module Net #:nodoc:
# The proxy URI determined from the environment for this connection.
def proxy_uri # :nodoc:
+ return if @proxy_uri == false
@proxy_uri ||= URI::HTTP.new(
"http".freeze, nil, address, port, nil, nil, nil, nil, nil
- ).find_proxy
+ ).find_proxy || false
+ @proxy_uri || nil
end
# The address of the proxy server, if one is configured.