You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2010/06/10 17:42:44 UTC

svn commit: r953355 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java

Author: johnh
Date: Thu Jun 10 15:42:44 2010
New Revision: 953355

URL: http://svn.apache.org/viewvc?rev=953355&view=rev
Log:
Don't cache HttpResponses with status 304.

Patch provided by Pradnya Karbhari.


Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java?rev=953355&r1=953354&r2=953355&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java Thu Jun 10 15:42:44 2010
@@ -96,6 +96,11 @@ public abstract class AbstractHttpCache 
       // Caching was forced. Ignore what the response wants.
       return true;
     }
+    
+    if (response.getHttpStatusCode() == HttpResponse.SC_NOT_MODIFIED) {
+      // Shindig server will serve 304s. Do not cache 304s from the origin server.
+      return false;
+    }
 
     // If the HTTP response allows for it, we can cache.
     return !response.isStrictNoCache();

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java?rev=953355&r1=953354&r2=953355&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java Thu Jun 10 15:42:44 2010
@@ -259,6 +259,15 @@ public class AbstractHttpCacheTest {
 
     assertEquals(0, cache.map.size());
   }
+  
+  @Test
+  public void addResponseIfModifiedSince() {
+    HttpRequest request = new HttpRequest(DEFAULT_URI);
+    HttpResponse response = new HttpResponseBuilder().setHttpStatusCode(HttpResponse.SC_NOT_MODIFIED).create();
+    assertFalse(cache.addResponse(request, response));
+
+    assertEquals(0, cache.map.size());
+  }
 
   @Test
   public void addResponseUsingPost() {