summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-10-10 19:15:56 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-10-10 19:15:56 +0000
commit9559b04e3dd6ee3afadb71a35956ccff4d8ef33e (patch)
treed06fd0bd57b372e758ac90426fd5e4bb25467121 /lib
parentadfce27ee0c3c31fbbfe9590e877f2298b809ae0 (diff)
open-uri: accept :open_timeout option
* lib/open-uri.rb (OpenURI::Options): add :open_timeout default * (def OpenURI.open_http): check :open_timeout option * (module OpenURI): rdoc for :open_timeout * test/open-uri/test_open-uri.rb (test_open_timeout): new test [Feature #10361] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/open-uri.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/open-uri.rb b/lib/open-uri.rb
index b793828063..829759ab7c 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -102,6 +102,7 @@ module OpenURI
:content_length_proc => true,
:http_basic_authentication => true,
:read_timeout => true,
+ :open_timeout => true,
:ssl_ca_cert => nil,
:ssl_verify_mode => nil,
:ftp_active_mode => false,
@@ -307,6 +308,9 @@ module OpenURI
if options.include? :read_timeout
http.read_timeout = options[:read_timeout]
end
+ if options.include? :open_timeout
+ http.open_timeout = options[:open_timeout]
+ end
resp = nil
http.start {
@@ -667,6 +671,13 @@ module OpenURI
#
# :read_timeout option specifies a timeout of read for http connections.
#
+ # [:open_timeout]
+ # Synopsis:
+ # :open_timeout=>nil (no timeout)
+ # :open_timeout=>10 (10 second)
+ #
+ # :open_timeout option specifies a timeout of open for http connections.
+ #
# [:ssl_ca_cert]
# Synopsis:
# :ssl_ca_cert=>filename