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

Reply via email to