]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/DataHttp.java
Factorize URL generation
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / DataHttp.java
index ebf483a7a24b087bd80bf991301a16a7918ecc6b..0b697ba77c6cb0835432e1ac8f074e7a146c1d4e 100644 (file)
@@ -33,6 +33,7 @@ import org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet;
 import org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet;
 import org.argeo.cms.CmsException;
 import org.argeo.cms.auth.AuthConstants;
+import org.argeo.cms.auth.CurrentUser;
 import org.argeo.cms.auth.HttpRequestCallback;
 import org.argeo.cms.auth.HttpRequestCallbackHandler;
 import org.argeo.jcr.ArgeoJcrConstants;
@@ -303,6 +304,12 @@ class DataHttp implements KernelConstants, ArgeoJcrConstants {
                                IOException {
                        try {
                                Subject subject = subjectFromRequest(request);
+                               if (CurrentUser.isAnonymous(subject)
+                                               && request.getMethod().equals("GET")) {
+                                       response.setHeader("Cache-Control",
+                                                       "no-transform, public, max-age=300, s-maxage=900");
+                               }
+
                                Subject.doAs(subject, new PrivilegedExceptionAction<Void>() {
                                        @Override
                                        public Void run() throws Exception {