You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2020/07/09 15:11:46 UTC

svn commit: r1879715 - in /jackrabbit/branches/2.20: ./ jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/server/ConditionalsTest.java jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java

Author: reschke
Date: Thu Jul  9 15:11:45 2020
New Revision: 1879715

URL: http://svn.apache.org/viewvc?rev=1879715&view=rev
Log:
JCR-4585: jackrabbit-webdav: return Etag with 304 response (merged r1878885 into 2.20)

Added:
    jackrabbit/branches/2.20/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/server/ConditionalsTest.java
      - copied unchanged from r1878885, jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/server/ConditionalsTest.java
Modified:
    jackrabbit/branches/2.20/   (props changed)
    jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java

Propchange: jackrabbit/branches/2.20/
------------------------------------------------------------------------------
  Merged /jackrabbit/trunk:r1878885

Modified: jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java?rev=1879715&r1=1879714&r2=1879715&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java Thu Jul  9 15:11:45 2020
@@ -579,6 +579,12 @@ abstract public class AbstractWebdavServ
             if (modTime != UNDEFINED_TIME && (modTime / 1000 * 1000) <= modSince) {
                 // resource has not been modified since the time indicated in the
                 // 'If-Modified-Since' header.
+
+                DavProperty<?> etagProp = resource.getProperty(DavPropertyName.GETETAG);
+                if (etagProp != null) {
+                    // 304 response MUST contain Etag when available
+                    response.setHeader("etag", etagProp.getValue().toString());
+                }
                 response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
                 return;
             }