| commit | be41f5cd67e41e32d84d16ad03e9569562678e5b | [log] [tgz] |
|---|---|---|
| author | Ryan Schmitt <rschmitt@apache.org> | Thu Jul 03 19:16:59 2025 -0700 |
| committer | Ryan Schmitt <rschmitt@pobox.com> | Sat Jul 05 08:47:48 2025 -0700 |
| tree | 7cb1843856ef897e9118f051957dff538cb1b6ae | |
| parent | de4e3e9b25a2ce84ba27b7dddca64cc3b7be6430 [diff] |
Fix `validateAfterInactivity` on the async client `validateAfterInactivity` is primarily a synchronous client feature, since it is necessary to attempt to read from the underlying socket in order to discover that the connection has been closed by the remote peer. The async client doesn't have this issue; the IOReactor is automatically notified when connections are closed and removes them from the pool (see `SingleCoreIOReactor::processClosedSessions`). For some reason, however, the async client's connection manager treats `validateAfterInactivity` as a kind of connection TTL: if the connection has been idle longer than the `validateAfterInactivity` config value, then the connection is closed immediately unless it is an HTTP/2 connection, in which case a PING frame is used to check for liveness. Since stale connections are removed from the pool automatically as mentioned above, this change simply removes this connection close behavior. A set of integration tests has been added to cover both clients.
Welcome to the HttpClient component of the Apache HttpComponents project.
For building from source instructions please refer to BUILDING.txt.
HttpClient main module requires Java 8 compatible runtime and depends on the following external libraries:
Other dependencies are optional.
(for detailed information on external dependencies please see pom.xml)
Apache HttpComponents Client is licensed under the Apache License 2.0. See the files LICENSE.txt and NOTICE.txt for more information.
This distribution may include software that has been designed for use with cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included software that may be subject to export controls on cryptographic software:
Apache HttpComponents Client interfaces with the Java Secure Socket Extension (JSSE) API to provide
- HTTPS support
Apache HttpComponents Client does not include any implementation of JSSE.