Gary Gregory
75aabd7f62
Javadoc improvements
...
- No need to use a FQCN when the name is already importted
- Import type instead of using a FQCN
- Use camel-case in paramerter name
- Add missing Javadoc
- Add some missing return tags
- Close some HTML tags
- Fix some comments
- Update Javadoc links
2024-08-17 11:20:08 -04:00
Oleg Kalnichevski
4009567af7
Remove @Experimental from async cache classes
2024-08-11 11:13:03 +02:00
strangelookingnerd
cc13243cd3
Minor code cleanup
2024-06-27 23:11:05 +02:00
strangelookingnerd
420910da4f
Fix assertions
2024-06-27 23:11:05 +02:00
strangelookingnerd
185d4e32aa
Test classes and methods should have default package visibility
2024-06-27 23:11:05 +02:00
Oleg Kalnichevski
e45345876e
Use CompletedFuture from core
2024-06-27 09:54:40 +02:00
Oleg Kalnichevski
a0bf57b837
Upgraded HttpClient version to 5.4-beta2-SNAPSHOT
2024-06-26 14:15:11 +02:00
Gary Gregory
225edf5ea8
Javadoc singleton versus default instances
2024-06-10 18:21:36 -04:00
jattisha
0f37ebdc7d
HTTPCLIENT-2327: Propagate CancellationExceptions from MemcachedClient operations as ResourceIOExceptions ( #559 )
2024-05-16 15:31:22 +02:00
Oleg Kalnichevski
ccfb674a1e
Upgraded HttpClient version to 5.4-alpha3-SNAPSHOT
2024-03-11 09:39:26 +01:00
Oleg Kalnichevski
eb6fd6b1c2
HttpClientContext and HttpCacheContext to use instance variables for standard attributes
2024-02-29 17:12:35 +01:00
Oleg Kalnichevski
762b18fe69
HttpClientContext to use instance variables for standard attributes
2024-02-29 17:12:35 +01:00
Oleg Kalnichevski
8a7f707a61
Upgraded HttpCore to version 5.3-alpha2
2024-02-14 15:41:56 +01:00
Michael Lee
661589e386
Removed unused private fields and local variables
2024-02-10 14:18:04 +01:00
Oleg Kalnichevski
f4f5f73be2
FileResourceFactory to generate stable file names for the same request Id and entity tag
2024-01-26 09:15:21 +01:00
Oleg Kalnichevski
d787637e6e
Cache ResourceFactory to make use of strong eTags when available
2024-01-26 09:15:21 +01:00
Oleg Kalnichevski
5ecd396f60
Deprecated #copy method in FileResourceFactory
2024-01-26 09:15:21 +01:00
Oleg Kalnichevski
a1e8e9082e
Better ETag handling
2024-01-18 20:08:39 +01:00
Oleg Kalnichevski
d7108f60ae
Added #toString methods to Resource implementations
2024-01-12 09:23:42 +01:00
Oleg Kalnichevski
7c0d083b12
Cache control and context API
2024-01-12 09:23:42 +01:00
Oleg Kalnichevski
364fa60cd3
Promote RequestCacheControl and ResponseCacheControl to public API
2024-01-12 09:23:42 +01:00
Oleg Kalnichevski
aad5987246
Corrected version in @since
2024-01-06 15:25:58 +01:00
Oleg Kalnichevski
f24c8010bb
Made caching of 403 responses by the classic and async protocol handlers more consistent
2024-01-03 11:29:16 +01:00
Oleg Kalnichevski
c5de6961d1
Upgraded HttpClient version to 5.4-alpha2-SNAPSHOT
2023-12-29 10:47:10 +01:00
Oleg Kalnichevski
c3d99b130c
Do not set the default HTTP version of cache response messages
2023-12-24 17:54:03 +01:00
Oleg Kalnichevski
6a497be400
Bug-fix: HTTP cache to use response Cache-Control `s-maxage` attribute only when configured as shared
2023-12-24 17:08:04 +01:00
Oleg Kalnichevski
df090e4228
Use core MessageSupport methods instead of internal ones
2023-12-23 13:25:59 +01:00
Oleg Kalnichevski
4dc82b40f6
Removed references to deprecated functions
2023-12-23 13:16:25 +01:00
Oleg Kalnichevski
1bbf5f4371
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
2023-12-13 11:54:48 +01:00
Oleg Kalnichevski
67a0b52919
Better debug logging in the caching protocol handlers
2023-12-13 11:54:48 +01:00
Oleg Kalnichevski
628a963a3a
Better HTTP execution context management by caching protocol handlers
2023-12-13 11:54:48 +01:00
Oleg Kalnichevski
abb958ec27
HTTPCLIENT-2277: Revised cache validation logic for conformance with the specification requirements per RFC 9111 section 4
2023-12-13 11:54:47 +01:00
Oleg Kalnichevski
ebae9ef7e3
HTTPCLIENT-2277: Aligned CachedResponseSuitabilityChecker with the specification requirements per RFC 9111 section 4
2023-12-13 11:54:47 +01:00
Oleg Kalnichevski
99eb13934f
HTTPCLIENT-2277: Aligned ResponseCachingPolicy with the specification requirements per RFC 9111 section 3
2023-12-13 11:54:47 +01:00
Oleg Kalnichevski
fcb86dae11
HTTPCLIENT-2277: Do not store AUTHORIZATION request header in the cache entry per RFC 9111 section 3.5
2023-12-13 11:54:47 +01:00
Oleg Kalnichevski
1492f57a84
HTTPCLIENT-2277: Cache update bug fix
2023-12-13 11:54:47 +01:00
Oleg Kalnichevski
17540a7881
Moved methods used by the public API classes from CacheSupport to CacheKeyGenerator; added test cases
2023-12-13 11:54:46 +01:00
Oleg Kalnichevski
3ff5496ffb
HttpCacheEntry to cache parsed DATE, EXPIRES and LAST_MODIFIED values; avoid parsing DATE header of cache entries and HTTP messages multiple times
2023-12-13 11:54:46 +01:00
Oleg Kalnichevski
e7ee13701e
Optimize `#isResponseCacheable` by parsing DATE and EXPIRES headers only once
2023-12-13 11:54:46 +01:00
Oleg Kalnichevski
762028805e
Moved delta-second parsing routine to CacheSupport
2023-12-13 11:54:46 +01:00
Oleg Kalnichevski
6055776245
Fixed invalid flow control in CacheControlHeaderParser
2023-12-13 11:54:46 +01:00
Oleg Kalnichevski
152ba4736f
Renamed cache protocol conformance response interceptor (no functional changes)
2023-12-13 11:54:45 +01:00
Oleg Kalnichevski
77fdc11818
HTTPCLIENT-2293: Via header improvements
...
* optimized parting of Via response header values in order to generate less intermediate garbage
* optimized Via message header generation
* moved Via request header generation to a cache request interceptor
* moved Via response header generation to a cache response interceptor
2023-12-13 11:54:45 +01:00
Oleg Kalnichevski
1b0e9cf7b0
HTTPCLIENT-2277: deprecation of obsolete config parameters and removal of oudated or meaningless tests ( #484 )
...
* HTTPCLIENT-2277: Deprecated 303 response caching switch as no longer required by RFC 9111
* Javadoc improvements (no functional changes)
* HTTPCLIENT-2277: Revision of HTTP cache protocol requirement and recommendation test cases:
* Removed links to RFC 2616
* Removed verbatim quotes from RFC 2616
* Removed obsolete test cases and test cases without result verification / assertions
* Removed test cases unrelated to HTTP caching
* Removed test cases without test result assertions
2023-12-13 11:54:45 +01:00
Oleg Kalnichevski
c7d79190e6
HTTPCLIENT-2277: revised cache update handling
...
* improved and simplified internal cache API
* corrected cache update logic after a variant negotiation
* added more tests
2023-12-13 11:54:44 +01:00
Oleg Kalnichevski
02f09c03f4
HTTPCLIENT-2277, regression: corrected wrong variant entry keys in cache hits returned by `BasicHttpCache#getVariants`
2023-12-13 11:54:44 +01:00
Oleg Kalnichevski
893574e092
HTTPCLIENT-2284: internal cache storage improvements ( #478 )
2023-12-13 11:54:44 +01:00
Arturo Bernal
8466b19861
Refactor HttpClient synchronized sections for virtual threads ( #476 )
...
- Replaced `synchronized` blocks with `ReentrantLock` in `LeaseRequest` to better support virtual threads introduced in JDK 21.
- Ensured each `LeaseRequest` instance has its own unique lock for maintaining original synchronization semantics.
- Addressed potential performance and deadlock issues with virtual threads by using explicit lock primitives from `java.util.concurrent.locks`.
2023-12-13 11:54:44 +01:00
Oleg Kalnichevski
097c17b78b
HTTPCLIENT-2284: Cache entry representation improvements: ( #477 )
...
* request URI stored in cache is now normalized and is presently expected to be the same as the root key
* removed references to variant cache keys from the cache entry
* Variants in root entries are now represented as a set, not as a map
2023-12-13 11:54:44 +01:00
Oleg Kalnichevski
5fe89b4e32
Removed unused method argument
2023-12-13 11:54:43 +01:00