]> err.no Git - sope/blobdiff - sope-appserver/NGObjWeb/WebDAV/SoWebDAVRenderer.m
synced with latest gstep-make process
[sope] / sope-appserver / NGObjWeb / WebDAV / SoWebDAVRenderer.m
index c053f4994f9fd0abea3a08104f32b71b3ddb3955..c4490572486ffd27ab9eaaffae574d803ed80db2 100644 (file)
@@ -889,12 +889,23 @@ static BOOL         formatOutput = NO;
 }
 
 - (BOOL)renderOptions:(id)_object inContext:(WOContext *)_ctx {
-  WOResponse *r = [_ctx response];
+  WOResponse *r;
   
-  [r setStatus:200];
+  r = [_ctx response];
+  [r setStatus:200 /* OK */];
   [r setHeader:@"1,2" forKey:@"DAV"]; // TODO: select protocol level
   //[r setHeader:@"" forKey:@"Etag"]; 
-  [r setHeader:[_object componentsJoinedByString:@", "] forKey:@"allow"];
+  
+  if (![_object isNotNull])
+    ;
+  else if ([_object isKindOfClass:[NSArray class]]) {
+    /* DEPRECATED */
+    [r setHeader:[_object componentsJoinedByString:@", "] forKey:@"allow"];
+  }
+  else {
+    [self logWithFormat:@"ERROR: unexpected options result: %@ (class=%@)", 
+           _object, [_object class]];
+  }
   return YES;
 }