<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/net/http/test_http.rb, branch v4.0.2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/net-http] Freeze more constants for Ractor compatibility</title>
<updated>2025-12-17T06:47:43+00:00</updated>
<author>
<name>Kazuki Yamaguchi</name>
<email>k@rhe.jp</email>
</author>
<published>2025-12-13T08:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b80fc8bd84d194fdab60d0aee14ce0850a366500'/>
<id>b80fc8bd84d194fdab60d0aee14ce0850a366500</id>
<content type='text'>
Freeze Net::HTTP::SSL_ATTRIBUTES and IDEMPOTENT_METHODS_. Both constants
have been marked as :nodoc:.

Together with https://github.com/ruby/openssl/issues/521, this enables
HTTPS clients in non-main Ractors on Ruby 4.0.

https://github.com/ruby/net-http/commit/f24b3b358b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Freeze Net::HTTP::SSL_ATTRIBUTES and IDEMPOTENT_METHODS_. Both constants
have been marked as :nodoc:.

Together with https://github.com/ruby/openssl/issues/521, this enables
HTTPS clients in non-main Ractors on Ruby 4.0.

https://github.com/ruby/net-http/commit/f24b3b358b
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/net-http] Fixed test case for default content-type.</title>
<updated>2025-06-11T03:35:12+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-06-11T01:45:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=82e3312493a26fc56e2823c07e261d1bf61edd42'/>
<id>82e3312493a26fc56e2823c07e261d1bf61edd42</id>
<content type='text'>
I changed content-type of request to "application/octet-stream" if request didn't have
content-type.

https://github.com/ruby/net-http/commit/fc5870d2ac
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I changed content-type of request to "application/octet-stream" if request didn't have
content-type.

https://github.com/ruby/net-http/commit/fc5870d2ac
</pre>
</div>
</content>
</entry>
<entry>
<title>Use EnvUtil.apply_timeout_scale</title>
<updated>2025-04-03T11:03:18+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-04-03T10:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fab133e629c507f4add4a7dde2e0ba12b7ec281c'/>
<id>fab133e629c507f4add4a7dde2e0ba12b7ec281c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extend open_timeout for test failure on s390x</title>
<updated>2025-04-03T11:03:18+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-04-03T10:07:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3f152ce767dcc2bda2232d35d29eaecf97932627'/>
<id>3f152ce767dcc2bda2232d35d29eaecf97932627</id>
<content type='text'>
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not wait connection attempt delay without in progress fds (#12087)</title>
<updated>2024-11-14T15:25:59+00:00</updated>
<author>
<name>Misaki Shioi</name>
<email>31817032+shioimm@users.noreply.github.com</email>
</author>
<published>2024-11-14T15:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fd4b27472ead7294d1e6bdab1d29cd3a28786da6'/>
<id>fd4b27472ead7294d1e6bdab1d29cd3a28786da6</id>
<content type='text'>
Do not wait Connection Attempt Delay without in progress fds

Reset Connection Attempt Delay when connection fails and there is no other socket connection in progress.
This is intended to resolve an issue that was temporarily worked around in Pull Request #12062.

`TCPServer::new` (used in tests such as `TestNetHTTP_v1_2_chunked#test_timeout_during_non_chunked_streamed_HTTP_session_write`) can only connect over either IPv6 or IPv4, depending on the environment.
Since HEv2 attempts to connect over IPv6 first, environments where IPv6 connections are unavailable return ECONNREFUSED immediately.
In such cases, the client should immediately retry the connection over IPv4.
However, HEv2 includes a specification for a "Connection Attempt Delay," where it waits 250ms after the previous connection attempt before starting the next one.
This delay causes Net::OpenTimeout (100ms) to be exceeded while waiting for the next connection attempt to start.

With this change, when a connection attempt fails, if there are sockets still attempting to connect and there are addresses yet to be tried, the Connection Attempt Delay will be resetted, allowing the next connection attempt to start immediately.

---

Additionally, the following minor fixes have been made:

- The `nfds` value used for select(2) is now reset with each wait.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not wait Connection Attempt Delay without in progress fds

Reset Connection Attempt Delay when connection fails and there is no other socket connection in progress.
This is intended to resolve an issue that was temporarily worked around in Pull Request #12062.

`TCPServer::new` (used in tests such as `TestNetHTTP_v1_2_chunked#test_timeout_during_non_chunked_streamed_HTTP_session_write`) can only connect over either IPv6 or IPv4, depending on the environment.
Since HEv2 attempts to connect over IPv6 first, environments where IPv6 connections are unavailable return ECONNREFUSED immediately.
In such cases, the client should immediately retry the connection over IPv4.
However, HEv2 includes a specification for a "Connection Attempt Delay," where it waits 250ms after the previous connection attempt before starting the next one.
This delay causes Net::OpenTimeout (100ms) to be exceeded while waiting for the next connection attempt to start.

With this change, when a connection attempt fails, if there are sockets still attempting to connect and there are addresses yet to be tried, the Connection Attempt Delay will be resetted, allowing the next connection attempt to start immediately.

---

Additionally, the following minor fixes have been made:

- The `nfds` value used for select(2) is now reset with each wait.</pre>
</div>
</content>
</entry>
<entry>
<title>Allow Net::HTTP#request to raise Net::OpenTimeout (#12062)</title>
<updated>2024-11-12T10:14:05+00:00</updated>
<author>
<name>Misaki Shioi</name>
<email>31817032+shioimm@users.noreply.github.com</email>
</author>
<published>2024-11-12T10:14:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fee706d9dd52d7f0444357259f33d335f21c980b'/>
<id>fee706d9dd52d7f0444357259f33d335f21c980b</id>
<content type='text'>
with a TCPSoerver that is only listening
to avoid AssertionFailedError on Ubuntu.

---

The tests such as
`TestNetHTTP_v1_2_chunked#test_timeout_during_non_chunked_streamed_HTTP_session_write`
expect to raise a `Net::WriteTimeout` due to a failure in writing to the server.

However, on Ubuntu environments,
the server immediately returns a "Connection Refused" in such cases.
The socket created with `TCPSocket.new` that supports HEv2 catches this immediately
and raises a `Net::OpenTimeout`.
As a result, these tests fail due to raising a different exception than expected.
This PR adds `Net::OpenTimeout` asexceptions to avoid these test failures.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
with a TCPSoerver that is only listening
to avoid AssertionFailedError on Ubuntu.

---

The tests such as
`TestNetHTTP_v1_2_chunked#test_timeout_during_non_chunked_streamed_HTTP_session_write`
expect to raise a `Net::WriteTimeout` due to a failure in writing to the server.

However, on Ubuntu environments,
the server immediately returns a "Connection Refused" in such cases.
The socket created with `TCPSocket.new` that supports HEv2 catches this immediately
and raises a `Net::OpenTimeout`.
As a result, these tests fail due to raising a different exception than expected.
This PR adds `Net::OpenTimeout` asexceptions to avoid these test failures.</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/net-http] Add ability to configure default settings for new connections</title>
<updated>2024-07-11T01:51:03+00:00</updated>
<author>
<name>fatkodima</name>
<email>fatkodima123@gmail.com</email>
</author>
<published>2024-05-13T22:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=70bdc0f777f9c2fe7bcee8bbab7b510589c28f93'/>
<id>70bdc0f777f9c2fe7bcee8bbab7b510589c28f93</id>
<content type='text'>
https://github.com/ruby/net-http/commit/fed3dcd0c2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/net-http/commit/fed3dcd0c2
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/net-http] Commented out unfinished chunked test</title>
<updated>2024-07-10T23:06:10+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-07-10T11:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=840f7ebfde7232a818dd1ebb7efd073b6f883a05'/>
<id>840f7ebfde7232a818dd1ebb7efd073b6f883a05</id>
<content type='text'>
https://github.com/ruby/net-http/commit/6376592cb4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/net-http/commit/6376592cb4
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/net-http] Split POST test because new dummy server can't handle continuouse POST request</title>
<updated>2024-07-10T23:06:09+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-07-10T10:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b11aba503b6ecdfeea7ebbb06c0416c4d081c2ec'/>
<id>b11aba503b6ecdfeea7ebbb06c0416c4d081c2ec</id>
<content type='text'>
https://github.com/ruby/net-http/commit/54a99b9f0c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/net-http/commit/54a99b9f0c
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/net-http] Support chunked data and fixed test failure with multipart/form-data</title>
<updated>2024-07-10T23:06:08+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-07-10T08:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4e6463ad7a56d7cf55726ff913129790b942ffb9'/>
<id>4e6463ad7a56d7cf55726ff913129790b942ffb9</id>
<content type='text'>
https://github.com/ruby/net-http/commit/b38c2795a9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/net-http/commit/b38c2795a9
</pre>
</div>
</content>
</entry>
</feed>
