Support empty PROP requests.
authorJelmer Vernooij <jelmer@samba.org>
Wed, 3 Dec 2014 16:50:43 +0000 (17:50 +0100)
committerJelmer Vernooij <jelmer@jelmer.uk>
Wed, 13 Jan 2016 02:19:03 +0000 (02:19 +0000)
Per RFC2518#8.1(
http://www.webdav.org/specs/rfc2518.html#METHOD_PROPFIND)
empty propfind requests are allowed.

calypso/xmlutils.py

index 47c984605c62a95b17a188e47babc84c3e1e2730..3dfbcff47cf2eaea9a8cd62b22a83573d56fabe6 100644 (file)
@@ -96,10 +96,14 @@ def propfind(path, xml_request, collection, depth, context):
     item_name = paths.resource_from_path(path)
     collection_name = paths.collection_from_path(path)
 
-    # Reading request
-    root = ET.fromstring(xml_request)
+    if xml_request:
+        # Reading request
+        root = ET.fromstring(xml_request)
+
+        prop_element = root.find(_tag("D", "prop"))
+    else:
+        prop_element = None
 
-    prop_element = root.find(_tag("D", "prop"))
     if prop_element is not None:
         prop_list = prop_element.getchildren()
         props = [prop.tag for prop in prop_list]