Skip to content

Commit e7b3a53

Browse files
committed
Bug fix: response Cache-Control attribute does not get updated in the cache execution context in case of a cache miss
1 parent aad0e9a commit e7b3a53

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/AsyncCachingExec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,9 @@ public void cancelled() {
523523
return asyncExecCallback.handleResponse(backendResponse, entityDetails);
524524
}
525525

526+
final HttpCacheContext context = HttpCacheContext.cast(scope.clientContext);
526527
final ResponseCacheControl responseCacheControl = CacheControlHeaderParser.INSTANCE.parse(backendResponse);
528+
context.setResponseCacheControl(responseCacheControl);
527529
final boolean cacheable = responseCachingPolicy.isResponseCacheable(responseCacheControl, request, backendResponse);
528530
if (cacheable) {
529531
storeRequestIfModifiedSinceFor304Response(request, backendResponse);

httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingExec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,9 @@ ClassicHttpResponse handleBackendResponse(
467467
}
468468
return backendResponse;
469469
}
470+
final HttpCacheContext context = HttpCacheContext.cast(scope.clientContext);
470471
final ResponseCacheControl responseCacheControl = CacheControlHeaderParser.INSTANCE.parse(backendResponse);
472+
context.setResponseCacheControl(responseCacheControl);
471473
final boolean cacheable = responseCachingPolicy.isResponseCacheable(responseCacheControl, request, backendResponse);
472474
if (cacheable) {
473475
storeRequestIfModifiedSinceFor304Response(request, backendResponse);

0 commit comments

Comments
 (0)