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 2018/01/15 12:04:31 UTC

httpcomponents-client git commit: HTTPCLIENT-1690: Avoid updating the cache entry with Content-Encoding headers too. (missing piece from last commit). Updated the test case [Forced Update!]

Repository: httpcomponents-client
Updated Branches:
  refs/heads/master 3e5dcb7a0 -> 5f2ad23ab (forced update)


HTTPCLIENT-1690: Avoid updating the cache entry with Content-Encoding headers too. (missing piece from last commit). Updated the test case


Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/commit/5f2ad23a
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/tree/5f2ad23a
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/diff/5f2ad23a

Branch: refs/heads/master
Commit: 5f2ad23ab3a3879be616bc33a98e90192ed4f4bb
Parents: 0bc7f67
Author: Sudheera Palihakkara <ca...@gmail.com>
Authored: Mon Jan 15 18:08:58 2018 +0800
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Mon Jan 15 13:03:57 2018 +0100

----------------------------------------------------------------------
 .../hc/client5/http/impl/cache/CacheUpdateHandler.java    |  4 ++++
 .../client5/http/impl/cache/TestCacheUpdateHandler.java   | 10 ++++++++++
 2 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/5f2ad23a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
index e285c39..2db7bea 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
@@ -163,6 +163,10 @@ class CacheUpdateHandler {
         }
         for (final Iterator<Header> it = response.headerIterator(); it.hasNext(); ) {
             final Header responseHeader = it.next();
+            // Since we do not expect a content in a 304 response, should update the cache entry with Content-Encoding
+            if (HttpHeaders.CONTENT_ENCODING.equals(responseHeader.getName())) {
+                continue;
+            }
             headerGroup.addHeader(responseHeader);
         }
         return headerGroup.getAllHeaders();

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/5f2ad23a/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCacheUpdateHandler.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCacheUpdateHandler.java b/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCacheUpdateHandler.java
index 0e3d9ad..3a3a8d8 100644
--- a/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCacheUpdateHandler.java
+++ b/httpclient5-cache/src/test/java/org/apache/hc/client5/http/impl/cache/TestCacheUpdateHandler.java
@@ -263,6 +263,7 @@ public class TestCacheUpdateHandler {
 
         final Header[] updatedHeaders = updatedEntry.getAllHeaders();
         headersContain(updatedHeaders, "Content-Encoding", "identity");
+        headersNotContain(updatedHeaders, "Content-Encoding", "gzip");
     }
 
     private void headersContain(final Header[] headers, final String name, final String value) {
@@ -276,4 +277,13 @@ public class TestCacheUpdateHandler {
         fail("Header [" + name + ": " + value + "] not found in headers.");
     }
 
+    private void headersNotContain(final Header[] headers, final String name, final String value) {
+        for (final Header header : headers) {
+            if (header.getName().equals(name)) {
+                if (header.getValue().equals(value)) {
+                    fail("Header [" + name + ": " + value + "] found in headers where it should not be");
+                }
+            }
+        }
+    }
 }