RE: DAV:can-overwrite

   From: Julian Reschke [mailto:julian.reschke@greenbytes.de]

   ... the binding draft borrows it's error handling from RFC3253, but
   it's Overwrite header handling from RFC2518 -- but a server can't
   do both. An RFC2518 compliant server would return a 412
   (Precondition failed), an RFC3253 compliant server would return
   403/409 with DAV:error/DAV:can-overwrite.

   This isn't a severe problem, but it's annyoing.

   I think a possible way out of this dilemma is to extend the RFC3253
   rules by saying that the DAV:error response may also be used for
   HTTP status 412 (por possibly more or all error codes). We could
   then have the BIND-enhanced server return

   HTTP/1.1 412 Precondition Failed
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx

   <?xml version="1.0" encoding="utf-8" ?>
   <D:error xmlns:D="DAV:">
    <D:can-overwrite/>
   </D:error>

   At least for our client this would make it much easier to continue
   to have a *generic* method of mapping responses to Java exceptions.

   [1] <http://greenbytes.de/tech/webdav/rfc2518.html#HEADER_Overwrite>
   [2] <http://greenbytes.de/tech/webdav/rfc3253.html#rfc.section.1.6>

I'd be happy to allow error codes for 412, or to use a
DAV:overwrite tag in the BIND request body, instead of the
Overwrite header.  I'm slightly more inclined to do the
latter, since bundling all the parameters into the request
body seems like a more meaningful "unification" than re-using
the Overwrite header, but either way is fine with me.

Cheers,
Geoff

Received on Monday, 14 October 2002 09:08:48 UTC