summaryrefslogtreecommitdiff
path: root/lib/open-uri.rb
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-15 04:56:25 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-15 04:56:25 +0000
commit80fb5e0584644131bdd10372a932a563373717d5 (patch)
treee0489459af551814f54fcd2ef5c5a4208eda82c5 /lib/open-uri.rb
parenta2e57fd16006cefdbab2c165b7abd7fcbb29dcc4 (diff)
* lib/open-uri.rb: add :read_timeout option.
[ruby-core:4848] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/open-uri.rb')
-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 ce6058935d..9220148d96 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -97,6 +97,7 @@ module OpenURI
:progress_proc => true,
:content_length_proc => true,
:http_basic_authentication => true,
+ :read_timeout => true,
}
def OpenURI.check_options(options) # :nodoc:
@@ -237,6 +238,9 @@ module OpenURI
store.set_default_paths
http.cert_store = store
end
+ if options.include? :read_timeout
+ http.read_timeout = options[:read_timeout]
+ end
header = {}
options.each {|k, v| header[k] = v if String === k }
@@ -524,6 +528,13 @@ module OpenURI
# pbar.set s if pbar
# }) {|f| ... }
#
+ # [:read_timeout]
+ # Synopsis:
+ # :read_timeout=>nil (no timeout)
+ # :read_timeout=>10 (10 second)
+ #
+ # :read_timeout option specifies a timeout of read for http connections.
+ #
# OpenURI::OpenRead#open returns an IO like object if block is not given.
# Otherwise it yields the IO object and return the value of the block.
# The IO object is extended with OpenURI::Meta.