You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2023/09/14 13:31:06 UTC
[httpcomponents-client] 01/02: HTTPCLIENT-2277, regression: corrected wrong variant entry keys in cache hits returned by `BasicHttpCache#getVariants`
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a commit to branch HTTPCLIENT-2277
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit 8269a236be41775bd2ad167d13230241d89b8613
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Mon Sep 11 14:01:09 2023 +0200
HTTPCLIENT-2277, regression: corrected wrong variant entry keys in cache hits returned by `BasicHttpCache#getVariants`
---
.../java/org/apache/hc/client5/http/impl/cache/BasicHttpCache.java | 5 +++--
.../org/apache/hc/client5/http/impl/cache/TestBasicHttpCache.java | 6 ++++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicHttpCache.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicHttpCache.java
index d48ec2f9f..aa56600ae 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicHttpCache.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicHttpCache.java
@@ -179,9 +179,10 @@ class BasicHttpCache implements HttpCache {
if (root != null && root.hasVariants()) {
final List<CacheHit> variants = new ArrayList<>();
for (final String variantKey : root.getVariants()) {
- final HttpCacheEntry variant = getInternal(variantKey + rootKey);
+ final String variantCacheKey = variantKey + rootKey;
+ final HttpCacheEntry variant = getInternal(variantCacheKey);
if (variant != null) {
- variants.add(new CacheHit(hit.rootKey, variantKey, variant));
+ variants.add(new CacheHit(rootKey, variantCacheKey, variant));
}
}
return variants;
diff --git a/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestBasicHttpCache.java b/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestBasicHttpCache.java
index 67e6bef86..b1c86b3c0 100644
--- a/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestBasicHttpCache.java
+++ b/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestBasicHttpCache.java
@@ -261,8 +261,10 @@ public class TestBasicHttpCache {
assertNotNull(variantMap);
assertEquals(2, variantMap.size());
- MatcherAssert.assertThat(variantMap.get("{accept-encoding=gzip}"), HttpCacheEntryMatcher.equivalent(hit1.entry));
- MatcherAssert.assertThat(variantMap.get("{accept-encoding=identity}"), HttpCacheEntryMatcher.equivalent(hit2.entry));
+ MatcherAssert.assertThat(variantMap.get("{accept-encoding=gzip}" + rootKey),
+ HttpCacheEntryMatcher.equivalent(hit1.entry));
+ MatcherAssert.assertThat(variantMap.get("{accept-encoding=identity}" + rootKey),
+ HttpCacheEntryMatcher.equivalent(hit2.entry));
}
@Test