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"));
+ }
}