diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/open-uri.rb | 11 |
2 files changed, 16 insertions, 0 deletions
@@ -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. |