On Tue, Mar 18, 2008 at 4:24 PM, <[EMAIL PROTECTED]> wrote: > Author: lindner > Date: Tue Mar 18 16:24:06 2008 > New Revision: 638634 > > URL: http://svn.apache.org/viewvc?rev=638634&view=rev > Log: > Small refactor of cache control headers. > * Add new setCachingHeaders() method for setting default cache headers > * Change semantics, passing 0 ttl means no-cache
Why not just not call it in that case? If you make it send Pragma: no-cache on the other hand, that would make sense. > > * If a nocache header is available, set ttl to 0 > > Modified: > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpUtil.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java?rev=638634&r1=638633&r2=638634&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/GadgetRenderer.java > Tue Mar 18 16:24:06 2008 > @@ -40,6 +40,7 @@ > import java.io.IOException; > import java.net.URI; > import java.net.URISyntaxException; > +import java.util.Arrays; > import java.util.HashSet; > import java.util.LinkedList; > import java.util.List; > @@ -179,9 +180,7 @@ > if (forcedLibs.trim().length() == 0) { > libs.add("core"); > } else { > - for (String lib : forcedLibs.split(":")) { > - libs.add(lib); > - } > + libs.addAll(Arrays.asList(forcedLibs.split(":"))); > } > } > > @@ -254,6 +253,8 @@ > .append("</body></html>"); > if (request.getParameter("v") != null) { > // Versioned files get cached indefinitely > + HttpUtil.setCachingHeaders(response); > + } else if ("1".equals(request.getParameter("nocache"))) { > HttpUtil.setCachingHeaders(response, 0); > } else { > // Unversioned files get cached for 5 minutes. > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpUtil.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpUtil.java?rev=638634&r1=638633&r2=638634&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpUtil.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpUtil.java > Tue Mar 18 16:24:06 2008 > @@ -38,19 +38,24 @@ > private static final int DEFAULT_TTL = 60 * 60 * 24 * 365; > > /** > + * Sets default caching Headers (Expires, Cache-Control, Last-Modified) > + * > + * @param response The HTTP response > + */ > + public static void setCachingHeaders(HttpServletResponse response) { > + setCachingHeaders(response, DEFAULT_TTL); > + } > + > + /** > * Sets HTTP headers that instruct the browser to cache indefinitely. > * Implementations should take care to use cache-busting techniques on > the > * url. > * > * @param response The HTTP response > - * @param ttl The time to cache for, in seconds. If 0, DEFAULT_TTL will > - * be used. > + * @param ttl The time to cache for, in seconds. If 0, then insure that > + * this object is not cached. > */ > public static void setCachingHeaders(HttpServletResponse response, int > ttl) { > - if (ttl == 0) { > - ttl = DEFAULT_TTL; > - } > - > response.setDateHeader("Expires", > System.currentTimeMillis() + (1000L * ttl)); > > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java?rev=638634&r1=638633&r2=638634&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java > Tue Mar 18 16:24:06 2008 > @@ -116,7 +116,7 @@ > > if (req.getParameter("v") != null) { > // Versioned files get cached indefinitely > - HttpUtil.setCachingHeaders(resp, 0); > + HttpUtil.setCachingHeaders(resp); > } else { > // Unversioned files get cached for 1 hour. > HttpUtil.setCachingHeaders(resp, 60 * 60); > > > -- ~Kevin

