Commit Graph

  • 1d9d6d70c9 Reverted changes to handling of cached responses with variants and different ETag values (f3f07a30); test code cleanups Oleg Kalnichevski 2023-06-18 17:00:24 +0200
  • e26896596f HTTPCLIENT-2277: Improve Age Header Handling and Calculation in Accordance with RFC9111. Arturo Bernal 2023-06-15 19:24:18 +0200
  • f8eb716c11 Corrected matchers for cache unit tests Oleg Kalnichevski 2023-06-18 22:50:38 +0200
  • 6faef71798 Support methods for parsing a message header into a sequence of tokens Oleg Kalnichevski 2023-06-18 22:43:02 +0200
  • 5ba0701535 HTTPCLIENT-2277: Update Freshness Lifetime Calculation (RFC 9111 4.2.1) This commit enhances the getFreshnessLifetime() method in the CacheValidityPolicy class to better comply with RFC 9111 4.2.1. The method now accounts for a negative Duration between the Date and Expires header fields. Arturo Bernal 2023-06-12 21:55:02 +0200
  • 65ec9a8e7a HTTPCLIENT-2277: do not store hop-by-hop and connection specific headers in cache (RFC 9111 3.1) Oleg Kalnichevski 2023-06-09 15:50:39 +0200
  • ec6b6630a2 Test code cleanup (no functional changes) Oleg Kalnichevski 2023-06-09 15:15:42 +0200
  • 65ef10f9f6 HTTPCLIENT-2277: optimized response header merge upon SC_NOT_MODIFIED Oleg Kalnichevski 2023-06-09 14:03:43 +0200
  • d58320b4c2 HTTPCLIENT-2277: Redesign of the internal cache serialization format Oleg Kalnichevski 2023-06-08 11:54:57 +0200
  • b7a39b3040 Enhancements to HTTP Conditional Request Handling: Arturo Bernal 2023-05-29 21:39:12 +0200
  • 38b8398a20 Removed HttpCacheSupport from public API Oleg Kalnichevski 2023-05-21 16:27:11 +0200
  • fbed77880b Parse Cache-Control request and response headers only once Oleg Kalnichevski 2023-05-21 12:25:38 +0200
  • cd2930af1f * Caching protocol classes to use CacheControlHeaderParser to parse request and response cache control directives * Several protocol recommendations related to Cache-Control header composition no longer mentioned by RFC 7234 have been removed * Cleanup of header constants Oleg Kalnichevski 2023-05-16 13:27:49 +0200
  • 3f81f21cab Request / response Cache-Control APIs Oleg Kalnichevski 2023-05-15 22:18:17 +0200
  • f0d76de66d Add heuristic expiration warning to cached responses" Arturo Bernal 2023-05-16 22:25:05 +0200
  • 46fe5a6a81 Refactor CacheControl parser to handle multiple headers. This commit refactors the CacheControl parsing logic to handle multiple "Cache-Control" headers. The previous implementation treated each header independently, returning an array of CacheControl objects. This caused issues when headers had directives that should be combined into a single CacheControl object. The updated implementation combines all directives from all headers into a single CacheControl object, ensuring accurate representation of the caching directives. Arturo Bernal 2023-05-13 22:02:45 +0200
  • cf7b582d6e Handle "no-cache" directive with specific header fields. Arturo Bernal 2023-05-11 21:42:37 +0200
  • 0db4f4fa9e Handling for 304 Not Modified responses in CachingHttpAsyncClient and c. When a 304 response is received, the cache entry is updated and the updated entry is used to generate the response. Arturo Bernal 2023-04-19 23:59:15 +0200
  • 5f6d370ccd HTTPCLIENT-1920: Add a check in CachedResponseSuitabilityChecker to ensure that cache entries created by HEAD requests are not used to serve GET requests. Arturo Bernal 2023-04-25 18:35:20 +0200
  • b9e2bbc778 Add Last-Modified header to 304 response when ETag is not present . Arturo Bernal 2023-04-22 21:21:31 +0200
  • e1cfb2add6 Complete the implementation of stale-if-error support as per RFC 5861 Arturo Bernal 2023-04-21 22:11:30 +0200
  • 7bf84b71d4 Extend stale-if-error to apply to non-revalidatable cache entries. Arturo Bernal 2023-03-11 20:39:07 +0100
  • b915a3ab33 Improve HttpByteArrayCacheEntrySerializer class by adding new methods and enhancing performance. Arturo Bernal 2023-03-25 23:31:34 +0100
  • f190e4f52e Avoid using deprecated DateUtils. Arturo Bernal 2023-03-16 16:58:49 +0100
  • 4784fdfed4 Fix issue with duplicate parsing of Cache-Control header Arturo Bernal 2023-03-13 23:02:48 +0100
  • cfcdd11cb6 Allow certain responses from a POST to be cacheable. Arturo Bernal 2023-03-04 19:55:40 +0100
  • 019cf460ec Fix handling of cached responses with variants and different ETag values. Previously, the getCacheEntry method was not correctly selecting the matching variant for a given request, which led to incorrect behavior when serving cached responses. This commit improves the method's logic to correctly identify the cache entry using the request's cache key, and then select the variant with the matching ETag value. If no matching variant is found, the cache entry is considered stale and a new response is fetched from the origin server. The fix includes a new test case to ensure the correct behavior of the method in this scenario Arturo Bernal 2023-03-06 21:49:06 +0100
  • d1f46e0c66 Fix Heuristic caching for URIs with query strings by adhering to RFC 2616 Section 13.9. The change is based on the fact that caches MUST NOT treat responses to such URIs as fresh unless the server provides an explicit expiration time. However, the updated RFC 7234 note indicates that it would be ok to introduce a configuration option that relaxed this rule. Therefore, a new configuration option is added to allow HTTP/1.1 responses with query strings to be cached. Arturo Bernal 2023-02-27 21:42:32 +0100
  • f7de67ff25 Upgraded project version to 5.4-alpha1 Oleg Kalnichevski 2023-08-20 10:56:20 +0200
  • 7d853d521e Fix Response Body Truncation Issue in ContentResponseHandler (#521) Arturo Bernal 2023-12-11 12:08:27 +0100
  • 3a46335204 Fix Response Body Truncation Issue in ContentResponseHandler Arturo Bernal 2023-12-11 11:58:56 +0100
  • 9e3d79bede Fixed NPE in debug log Oleg Kalnichevski 2023-12-10 12:40:50 +0100
  • 71d8371d24
    Prevent NullPointerException being thrown when constructing log message topbadger 2023-12-09 18:52:38 +0000
  • 795c39c6cb Test: add test for ContentResponseHandler 璀境石 2023-12-09 21:07:53 +0800
  • 88bbd3ff41 Fix the issue of HTTP response content being truncated to a maximum length of 256 bytes due to commit 0df9e63932 璀境石 2023-12-09 13:11:06 +0800
  • 9dab8592eb Implement username* validation and decoding in DigestScheme Arturo Bernal 2023-11-24 23:24:49 +0100
  • 6ad6b82883 Upgraded API compatibility level to 5.3 Oleg Kalnichevski 2023-12-06 21:18:25 +0100
  • 5ab7f21dcb Refactor ExponentialBackoffManager and TestLinearBackoffManager Tests to Remove Thread.sleep(). (#495) Arturo Bernal 2023-10-24 20:55:38 +0200
  • 5c69779f7d Fix features BackoffManager Unit Tests in Resource-Constrained Environments. (#494) Arturo Bernal 2023-10-20 12:52:20 +0200
  • f6a37780cf Upgraded HttpClient version to 5.3.1-SNAPSHOT Oleg Kalnichevski 2023-12-06 16:54:47 +0100
  • da6d60f9f0
    Implement Support for Userhash Parameter in Digest Authentication as per RFC 7616 (#509) Arturo Bernal 2023-12-03 21:53:36 +0100
  • c7c80fd839 Implement Support for Userhash Parameter in Digest Authentication as per RFC 7616 Arturo Bernal 2023-11-23 21:55:53 +0100
  • e16c1bfa29
    Enforce Support for UTF-8 Encoding Scheme in Digest Authentication as per RFC 7616 (#508) Arturo Bernal 2023-12-03 21:48:43 +0100
  • ed0e68b2a9 HttpClient 5.3 release rel/v5.3 5.3-RC1 Oleg Kalnichevski 2023-12-03 09:36:08 +0100
  • cf20ea3915 Updated release notes for HttpClient 5.3 release Oleg Kalnichevski 2023-12-02 15:49:09 +0100
  • f7ac968aaf HTTPCLIENT-2310: Async Connect exec handler incorrectly pipes CONNECT requests through the main request protocol chain Oleg Kalnichevski 2023-11-30 11:38:55 +0100
  • 4880f4bc32 HTTPCLIENT-2310: Async Connect exec handler incorrectly pipes CONNECT requests through the main request protocol chain Oleg Kalnichevski 2023-11-30 11:38:55 +0100
  • a46c9e5656 Added missing #disconnectEndpoint method to AsyncConnectExec Oleg Kalnichevski 2023-11-30 13:21:52 +0100
  • 8a2b0f584a
    Improve debug logging around connections that cannot be reused (#515) nfawcett 2023-11-29 15:50:47 +0000
  • 0b1a3c1026
    Merge pull request #1 from nfawcett/not-reusable-connection-debug-logging nfawcett 2023-11-29 13:41:30 +0000
  • 0e4e3dc2f3 update connection close logging Nathan Fawcett 2023-11-29 13:13:12 +0000
  • 008d3ff222
    Merge branch 'master' into not-reusable-connection-debug-logging nfawcett 2023-11-29 10:22:12 +0000
  • d11795b4a4
    Improve debug logging around nott reusable connections nfawcett 2023-11-29 10:11:33 +0000
  • 3273ec4f8e Use String#isEmpty() Gary Gregory 2023-11-28 11:29:24 -0500
  • ed1c1d61f2 Use String#isEmpty() Gary Gregory 2023-11-28 11:29:24 -0500
  • ff9e2cadd4 HttpClient 5.2.3 release rel/v5.2.3 5.2.3-RC1 Oleg Kalnichevski 2023-11-28 15:15:16 +0100
  • b5070092f4 Updates release notes for HttpClient 5.2.3 release Oleg Kalnichevski 2023-11-28 11:38:34 +0100
  • fbf526af04 Classic test suits to execute in plain and TLS modes Oleg Kalnichevski 2023-11-28 10:48:51 +0100
  • efe2598a30 Classic test suits to execute in plain and TLS modes Oleg Kalnichevski 2023-11-28 10:48:51 +0100
  • 9ec63474c8 Upgraded HttpCore to version 5.2.4 Oleg Kalnichevski 2023-11-28 09:45:28 +0100
  • 0f40ea5e91 Upgraded HttpCore to version 5.2.4 Oleg Kalnichevski 2023-11-28 09:45:28 +0100
  • 3520f56bb5 Fixed the mockito verification after change. Adrian Richter 2023-11-28 15:04:36 +0800
  • ea0a159676 Fixed a problem with passing a null Proxy to Socket constructor. Setting the proxy tpo NO_PROXY when proxy if null instead. Adrian Richter 2023-11-28 14:57:21 +0800
  • e5e658a542
    HTTPCLIENT-2292: fix regression when proxy is null Misagh Moayyed 2023-11-27 00:37:20 +0400
  • 4ab0a43089 Add validation to prevent both 'username' and 'username*' in DigestScheme headers. Arturo Bernal 2023-11-24 17:28:40 +0100
  • 79a5b1bb2e Enforce Support for UTF-8 Encoding Scheme in Digest Authentication as per RFC 7616 Arturo Bernal 2023-11-23 21:46:06 +0100
  • 7d899b1948 Fixes Invalid Proxy exception when using a SSL client without Proxy Cédric Tabin 2023-11-23 13:20:03 +0100
  • 6d60624cd3 Fixes Invalid Proxy exception when using a SSL client without Proxy Cédric Tabin 2023-11-23 13:20:03 +0100
  • 59302c066a Fixes Invalid Proxy exception when using a SSL client without Proxy Cédric Tabin 2023-11-23 13:20:03 +0100
  • 542961b9d5 Upgraded HttpClient version to 5.2.3-SNAPSHOT Oleg Kalnichevski 2023-11-23 09:39:26 +0100
  • f28b0a3da7
    Enforce UTF-8 Encoding in BasicSchemeFactory for RFC 7617 Compliance (#506) Arturo Bernal 2023-11-21 18:39:17 +0100
  • fc73364cdf Enforce UTF-8 Encoding in BasicSchemeFactory for RFC 7617 Compliance Arturo Bernal 2023-11-17 22:53:51 +0100
  • 3db7514535
    Implement Password Validation in BasicScheme. (#505) Arturo Bernal 2023-11-20 18:36:25 +0100
  • 83d603c9d8 SEE OTHER redirect handling fix Oleg Kalnichevski 2023-11-19 11:14:34 +0100
  • 3486b47452 Bump com.googlecode.maven-download-plugin:download-maven-plugin dependabot[bot] 2023-07-28 13:24:11 +0000
  • 82185a3a02 Bump org.junit:junit-bom from 5.9.3 to 5.10.1 dependabot[bot] 2023-11-10 13:23:00 +0000
  • e2cff33193 SEE OTHER redirect handling fix Oleg Kalnichevski 2023-11-19 11:14:34 +0100
  • 57f69276a5 HttpClient 5.2.2 release rel/v5.2.2 5.2.2-RC1 Oleg Kalnichevski 2023-11-19 09:52:01 +0100
  • 4a3928da70 Updated release notes for HttpClient 5.2.2 release Oleg Kalnichevski 2023-11-18 11:55:50 +0100
  • 9c36a9c59d Implement Password Validation in BasicScheme. Introduced a new method, `validatePassword`, in the `BasicScheme` class to enforce password validation in line with RFC 7617 standards. This method includes control character validation for passwords, ensuring they adhere to RFC 7617 by not containing any control characters. Arturo Bernal 2023-11-18 09:43:45 +0100
  • 2ce9466713 Bug fix: when validating a cache entry the protocol handlers must use the current request message with additional headers generated by the previous request interceptors instead of the original request message Oleg Kalnichevski 2023-11-15 15:16:56 +0100
  • 4969a7f30e Better debug logging in the caching protocol handlers Oleg Kalnichevski 2023-11-15 13:37:26 +0100
  • 419bbb2cd2 Better HTTP execution context management by caching protocol handlers Oleg Kalnichevski 2023-11-11 20:23:45 +0100
  • 77650d3325 HTTPCLIENT-2277: Revised cache validation logic for conformance with the specification requirements per RFC 9111 section 4 Oleg Kalnichevski 2023-11-09 20:43:54 +0100
  • 0bc647dbcd HTTPCLIENT-2277: Aligned CachedResponseSuitabilityChecker with the specification requirements per RFC 9111 section 4 Oleg Kalnichevski 2023-11-03 13:34:55 +0100
  • 7ea2ecb4d3 HTTPCLIENT-2277: Aligned ResponseCachingPolicy with the specification requirements per RFC 9111 section 3 Oleg Kalnichevski 2023-10-22 12:07:31 +0200
  • e20d0d3bbb HTTPCLIENT-2277: Do not store AUTHORIZATION request header in the cache entry per RFC 9111 section 3.5 Oleg Kalnichevski 2023-10-23 10:14:39 +0200
  • 8a33b56293 HTTPCLIENT-2277: Cache update bug fix Oleg Kalnichevski 2023-10-30 17:29:20 +0100
  • b69472ade0 Bug fix: when validating a cache entry the protocol handlers must use the current request message with additional headers generated by the previous request interceptors instead of the original request message Oleg Kalnichevski 2023-11-15 15:16:56 +0100
  • 54b63c52d6 Better debug logging in the caching protocol handlers Oleg Kalnichevski 2023-11-15 13:37:26 +0100
  • ebd2c678d6 Better HTTP execution context management by caching protocol handlers Oleg Kalnichevski 2023-11-11 20:23:45 +0100
  • 772426c1cc HTTPCLIENT-2277: Revised cache validation logic for conformance with the specification requirements per RFC 9111 section 4 Oleg Kalnichevski 2023-11-09 20:43:54 +0100
  • 6c026b4ab9 HTTPCLIENT-2277: Aligned CachedResponseSuitabilityChecker with the specification requirements per RFC 9111 section 4 Oleg Kalnichevski 2023-11-03 13:34:55 +0100
  • 48824640e9
    Bump org.junit:junit-bom from 5.9.3 to 5.10.1 dependabot[bot] 2023-11-10 13:23:00 +0000
  • 6ac8946155
    HTTPCLIENT-2301. Refactor release method to use local conn variable. This commit updates the release method to use the local conn variable from internalEndpoint.detach() for accurate state management and resource cleanup, addressing the issue HTTPCLIENT-2301. (#502) Arturo Bernal 2023-11-09 17:17:20 +0100
  • cb639a2b61 HTTPCLIENT-2301. Refactor release method to use local conn variable. This commit updates the release method to use the local conn variable from internalEndpoint.detach() for accurate state management and resource cleanup, addressing the issue HTTPCLIENT-2301. Arturo Bernal 2023-11-04 19:41:03 +0100
  • 81ffd295bd HTTPCLIENT-2305: SSLConnectionSocketFactory allows socket.connect to be decorated (#499) Carter Kozak 2023-11-02 10:19:52 -0400
  • 180d90c847
    HTTPCLIENT-2305: SSLConnectionSocketFactory allows socket.connect to be decorated (#499) Carter Kozak 2023-11-02 10:19:52 -0400
  • f78c4ffad1 Change scope of slf4j-api to test. HappyHacker123 2023-11-02 16:23:29 +0800
  • 06301a61d6 Change scope of slf4j-api to test. HappyHacker123 2023-11-02 16:23:29 +0800