On Tue, Jun 17, 2003 at 01:27:19PM -0500, Ben Collins-Sussman wrote:
>...
> @@ -4033,9 +4043,19 @@
> /* run report hook */
> if ((err = (*vsn_hooks->deliver_report)(r, resource, doc,
> r->output_filters)) != NULL) {
> - /* NOTE: we're assuming that the provider has not generated any
> - content yet! */
Hmm. It seems possible that deliver_report could fail before generating any
response. Thus, we want to test what the situation is, and deliver the error
or perform the new "ah, crap. punt" option.
The logic would be like this:
if (!r->sent_bodyct)
/* no data sent yet. handle the error normally. */
return dav_handle_err(...)
/* damn. data was sent. bail. */
...
This logic isn't needed for the PROPFIND case because we always send the
initial leader for the multistatus response. So... since we've always sent
data, then we need to just bail.
Cheers,
-g
--
Greg Stein, http://www.lyra.org/