summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/open-uri.rb11
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index be268416be..beadaff944 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Sep 15 13:54:33 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/open-uri.rb: add :read_timeout option.
+ [ruby-core:4848]
+
Thu Sep 15 11:39:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,
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.