Author: etnu
Date: Fri Jan 18 02:11:39 2008
New Revision: 613121

URL: http://svn.apache.org/viewvc?rev=613121&view=rev
Log:
Included missing file from last update


Modified:
    
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/JsServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/JsServlet.java?rev=613121&r1=613120&r2=613121&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
 Fri Jan 18 02:11:39 2008
@@ -101,7 +101,6 @@
               JsLibraryFeatureFactory jsLib = (JsLibraryFeatureFactory)feature;
               for (JsLibrary lib : jsLib.getLibraries(context)) {
                 // TODO: type url js files fail here.
-                // TODO: resolve dependencies correctly.
                 if (lib.getType() != JsLibrary.Type.URL) {
                   jsData.append(lib.getContent());
                 }
@@ -116,12 +115,25 @@
         resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
         return;
       }
-
+      setCachingHeaders(resp);
       resp.setContentType("text/javascript");
       resp.setContentLength(jsData.length());
       resp.getOutputStream().write(jsData.toString().getBytes());
     } else {
       resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
     }
+  }
+
+  /**
+   * 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
+   */
+  private void setCachingHeaders(HttpServletResponse response) {
+    response.setHeader("Cache-Control", "public,max-age=2592000");
+    response.setDateHeader("Expires", System.currentTimeMillis()
+                                     + 2592000000L);
   }
 }


Reply via email to