Actions
Bug #19609
opennet/http ignores open_timeout, read_timeout on Windows
Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
Description
This small sample works fine on Linux (it takes 2 seconds to finish) but on Windows, it always fails with a timeout after some magical 21 seconds.
require 'net/http'
uri = URI 'http://1.2.3.4'
http = Net::HTTP::new(uri.host, uri.port)
http.open_timeout = 2
http.read_timeout = 2
time_start = Time.now
begin
response = http.get uri
rescue Exception
puts $!.inspect
end
time_total = Time.now - time_start
puts time_total
Strange that I have installed different versions and the results are not consistent:
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]:
#<Net::OpenTimeout: Failed to open TCP connection to 1.2.3.4:80 (execution expired)>
21.0494375
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]:
#<Net::OpenTimeout: Failed to open TCP connection to 1.2.3.4:80 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - user specified timeout)>
2.0190419 # — works as expected
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32]:
#<Net::OpenTimeout: execution expired>
21.0423962
No data to display
Actions
Like1