1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Add new options open_timeout and read_timeout to Net::FTP.new.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shugo 2016-11-21 10:38:31 +00:00
parent 4c839a2cec
commit 30cc5ce4bd
2 changed files with 16 additions and 2 deletions

View file

@ -190,6 +190,10 @@ module Net
# account:: Account information for ACCT.
# passive:: When +true+, the connection is in passive mode. Default:
# +true+.
# open_timeout:: Number of seconds to wait for the connection to open.
# See Net::FTP#open_timeout for details. Default: +nil+.
# read_timeout:: Number of seconds to wait for one block to be read.
# See Net::FTP#read_timeout for details. Default: +60+.
# debug_mode:: When +true+, all traffic to and from the server is
# written to +$stdout+. Default: +false+.
#
@ -242,8 +246,8 @@ module Net
@resume = false
@bare_sock = @sock = NullSocket.new
@logged_in = false
@open_timeout = nil
@read_timeout = 60
@open_timeout = options[:open_timeout]
@read_timeout = options[:read_timeout] || 60
if host
if options[:port]
connect(host, options[:port] || FTP_PORT)

View file

@ -278,6 +278,16 @@ class FTPTest < Test::Unit::TestCase
end
end
def test_s_new_timeout_options
ftp = Net::FTP.new
assert_equal(nil, ftp.open_timeout)
assert_equal(60, ftp.read_timeout)
ftp = Net::FTP.new(nil, open_timeout: 123, read_timeout: 234)
assert_equal(123, ftp.open_timeout)
assert_equal(234, ftp.read_timeout)
end
# TODO: How can we test open_timeout? sleep before accept cannot delay
# connections.
def _test_open_timeout_exceeded