aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
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 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.