diff --git a/lib/dav4rack/controller.rb b/lib/dav4rack/controller.rb index e049152..2e5955b 100644 --- a/lib/dav4rack/controller.rb +++ b/lib/dav4rack/controller.rb @@ -186,7 +186,9 @@ def propfind unless(resource.exist?) NotFound else - unless(request_document.xpath("//#{ns}propfind/#{ns}allprop").empty?) + # Per RFC 2518 ยง8.1 + # An empty PROPFIND request body must be treated as a request for the names and values of all properties. + if !request_document.xpath("//#{ns}propfind/#{ns}allprop").empty? or (request.content_length == '0') or (request.content_length.nil?) properties = resource.properties else check = request_document.xpath("//#{ns}propfind")