[CalendarServer-changes] [10650] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 5 09:07:09 PST 2013


Revision: 10650
          http://trac.calendarserver.org//changeset/10650
Author:   cdaboo at apple.com
Date:     2013-02-05 09:07:09 -0800 (Tue, 05 Feb 2013)
Log Message:
-----------
Send empty DAV:prop if no properties returned when using Prefer: return=minimal.

Modified Paths:
--------------
    CalendarServer/trunk/twext/web2/dav/method/propfind.py
    CalendarServer/trunk/twistedcaldav/method/propfind.py
    CalendarServer/trunk/twistedcaldav/method/report_common.py

Modified: CalendarServer/trunk/twext/web2/dav/method/propfind.py
===================================================================
--- CalendarServer/trunk/twext/web2/dav/method/propfind.py	2013-02-05 17:06:04 UTC (rev 10649)
+++ CalendarServer/trunk/twext/web2/dav/method/propfind.py	2013-02-05 17:07:09 UTC (rev 10650)
@@ -207,6 +207,13 @@
 
             propstats.append(xml_propstat)
 
+        # Always need to have at least one propstat present (required by Prefer header behavior)
+        if len(propstats) == 0:
+            propstats.append(davxml.PropertyStatus(
+                davxml.PropertyContainer(),
+                davxml.Status.fromResponseCode(responsecode.OK)
+            ))
+
         xml_resource = davxml.HRef(uri)
         xml_response = davxml.PropertyStatusResponse(xml_resource, *propstats)
 

Modified: CalendarServer/trunk/twistedcaldav/method/propfind.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/propfind.py	2013-02-05 17:06:04 UTC (rev 10649)
+++ CalendarServer/trunk/twistedcaldav/method/propfind.py	2013-02-05 17:07:09 UTC (rev 10650)
@@ -208,6 +208,13 @@
 
                 propstats.append(xml_propstat)
 
+            # Always need to have at least one propstat present (required by Prefer header behavior)
+            if len(propstats) == 0:
+                propstats.append(davxml.PropertyStatus(
+                    davxml.PropertyContainer(),
+                    davxml.Status.fromResponseCode(responsecode.OK)
+                ))
+
             xml_response = davxml.PropertyStatusResponse(davxml.HRef(uri), *propstats)
 
             # This needed for propfind cache tracking of children changes

Modified: CalendarServer/trunk/twistedcaldav/method/report_common.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/report_common.py	2013-02-05 17:06:04 UTC (rev 10649)
+++ CalendarServer/trunk/twistedcaldav/method/report_common.py	2013-02-05 17:07:09 UTC (rev 10650)
@@ -194,6 +194,13 @@
 
                 propstats.append(xml_propstat)
 
+        # Always need to have at least one propstat present (required by Prefer header behavior)
+        if len(propstats) == 0:
+            propstats.append(element.PropertyStatus(
+                element.PropertyContainer(),
+                element.Status.fromResponseCode(responsecode.OK)
+            ))
+
         if propstats:
             responses.append(element.PropertyStatusResponse(href, *propstats))
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130205/d69791a4/attachment.html>


More information about the calendarserver-changes mailing list