From 41628b094c47d7992890f75d4e4637bdb198a971 Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 15 Sep 2005 04:56:25 +0000 Subject: * lib/open-uri.rb: add :read_timeout option. [ruby-core:4848] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/open-uri.rb | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index be268416b..beadaff94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 15 13:54:33 2005 Tanaka Akira + + * lib/open-uri.rb: add :read_timeout option. + [ruby-core:4848] + Thu Sep 15 11:39:18 2005 Hidetoshi NAGAI * 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 ce6058935..9220148d9 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. -- cgit