Bug #14829 » http.rb.patch
| lib/net/http.rb | ||
|---|---|---|
|
res = catch(:response) {
|
||
|
req.exec @socket, @curr_http_version, edit_path(req.path)
|
||
|
begin
|
||
|
res = HTTPResponse.read_new(@socket)
|
||
|
if Net::HTTP::Post === req && RUBY_PLATFORM[/mingw|mswin/]
|
||
|
Timeout.timeout(@write_timeout, Net::WriteTimeout) {
|
||
|
res = HTTPResponse.read_new(@socket)
|
||
|
}
|
||
|
else
|
||
|
res = HTTPResponse.read_new(@socket)
|
||
|
end
|
||
|
res.decode_content = req.decode_content
|
||
|
end while res.kind_of?(HTTPInformation)
|
||
| ... | ... | |
|
}
|
||
|
rescue Net::OpenTimeout
|
||
|
raise
|
||
|
rescue Net::ReadTimeout, IOError, EOFError,
|
||
|
rescue Net::WriteTimeout, Net::ReadTimeout, IOError, EOFError,
|
||
|
Errno::ECONNRESET, Errno::ECONNABORTED, Errno::EPIPE,
|
||
|
# avoid a dependency on OpenSSL
|
||
|
defined?(OpenSSL::SSL) ? OpenSSL::SSL::SSLError : IOError,
|
||