]> err.no Git - sope/commitdiff
work on REPORT
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 6 Oct 2005 10:53:43 +0000 (10:53 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 6 Oct 2005 10:53:43 +0000 (10:53 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1163 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m

index f5e8b5a8cd8dd22374aadc7796553298ca536320..0599addda165d2a847ac42a946d2aa67a3bf4d39 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-06  Helge Hess  <helge.hess@opengroupware.org>
+
+       * WebDAV/SoObjectWebDAVDispatcher.m: decode XML content of REPORT
+         requests (v4.5.208)
+
 2005-10-05  Helge Hess  <helge.hess@opengroupware.org>
 
        * DynamicElements/WOCompoundElement.m: setup defaults in +initialize
index 65b1a9f84c1b7c2caa751b79e56855aa782d6785..b3a4b99dcde9f3f4264c8e1682053621d5a1ac58 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=207
+SUBMINOR_VERSION:=208
 
 # v4.5.122 requires libNGExtensions v4.5.153
 # v4.5.91  requires libNGExtensions v4.5.134
index 733cb29f5f339a6e4bd86b430a32c5a5fb5e76d3..1bf37608864371c86a51ef5e5f3f91bc8379b1d4 100644 (file)
@@ -1472,6 +1472,29 @@ static NSTimeZone                *gmt      = nil;
 /* DAV reports */
 
 - (id)doREPORT:(WOContext *)_ctx {
+  WORequest *rq;
+  id domDocument;
+  
+  rq = [_ctx request];
+  
+  /* ensure XML */
+
+  if (![[rq headerForKey:@"content-type"] hasPrefix:@"text/xml"]) {
+    return [self httpException:400 /* invalid request */
+                reason:@"XML entity expected for WebDAV REPORT."];
+  }
+
+  /* retrieve XML */
+
+  if ((domDocument = [rq contentAsDOMDocument]) == nil) {
+    return [self httpException:400 /* invalid request */
+                reason:@"Could not parse XML of WebDAV REPORT."];
+  }
+  
+  /* process DOM */
+
+  [self logWithFormat:@"TODO: process REPORT: %@", domDocument];
+  
   return [self httpException:405 /* method not allowed */
               reason:@"WebDAV reports not yet implemented."];
 }