X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FDataHttp.java;h=0b697ba77c6cb0835432e1ac8f074e7a146c1d4e;hb=91fcd647244c5d87f8f434f261a0768bea84c528;hp=ebf483a7a24b087bd80bf991301a16a7918ecc6b;hpb=0af549d05ec45b5e31df9026b6627de9038d39eb;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/DataHttp.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/DataHttp.java index ebf483a7a..0b697ba77 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/DataHttp.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/DataHttp.java @@ -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() { @Override public Void run() throws Exception {