You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by be...@apache.org on 2009/02/25 03:05:48 UTC

svn commit: r747643 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java

Author: beaton
Date: Wed Feb 25 02:05:48 2009
New Revision: 747643

URL: http://svn.apache.org/viewvc?rev=747643&view=rev
Log:
Let container override max-age for gadget render URLs.

Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java?rev=747643&r1=747642&r2=747643&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java Wed Feb 25 02:05:48 2009
@@ -64,9 +64,14 @@
           // Versioned files get cached indefinitely
           HttpUtil.setCachingHeaders(resp, true);
         } else {
-          // Unversioned files get cached for 5 minutes.
-          // TODO: This should be configurable
-          HttpUtil.setCachingHeaders(resp, DEFAULT_CACHE_TTL, true);
+          // Unversioned files get cached for 5 minutes by default, but this can be overridden
+          // with a query parameter.
+          int ttl = DEFAULT_CACHE_TTL;
+          String ttlStr = req.getParameter(ProxyBase.REFRESH_PARAM);
+          if (ttlStr != null) {
+            ttl = Integer.parseInt(ttlStr);
+          }
+          HttpUtil.setCachingHeaders(resp, ttl, true);
         }
         resp.getWriter().print(results.getContent());
         break;

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java?rev=747643&r1=747642&r2=747643&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java Wed Feb 25 02:05:48 2009
@@ -100,4 +100,25 @@
     assertEquals("text/html", recorder.getContentType());
     assertEquals(NON_ASCII_STRING, recorder.getResponseAsString());
   }
+  
+  @Test
+  public void refreshParameter_specified() throws Exception {
+    servlet.setRenderer(renderer);
+    expect(request.getParameter("refresh")).andReturn("1000");
+    expect(renderer.render(isA(GadgetContext.class)))
+        .andReturn(RenderingResults.ok("working"));
+    control.replay();
+    servlet.doGet(request, recorder);
+    assertEquals("private,max-age=1000", recorder.getHeader("Cache-Control"));
+  }
+  
+  @Test
+  public void refreshParameter_default() throws Exception {
+    servlet.setRenderer(renderer);
+    expect(renderer.render(isA(GadgetContext.class)))
+        .andReturn(RenderingResults.ok("working"));
+    control.replay();
+    servlet.doGet(request, recorder);
+    assertEquals("private,max-age=300", recorder.getHeader("Cache-Control"));
+  }
 }