Skip to content
Commit 098c5a23 authored by Greg Stein's avatar Greg Stein
Browse files

mod_dav improvement: make dav_method_propfind stream its response,

rather than cache every <response> object and send the whole 207 at once.

Note:  this patch doesn't affect the mod_dav provider API at all.
Providers still return property results in text-buffers, but mod_dav
then streams them out immediately.

Submitted by: Ben Collins-Sussman <sussman@collab.net>
Reviewed by: gstein, jerenkrantz, sander

* mod_dav.h (dav_walker_ctx): add a brigade field and a scratchpool field.

* mod_dav.c (dav_send_one_response): new helper function to write a
    <DAV:response> into a brigade/filter.  this code has been factorized
    out of dav_send_multistatus.

  (dav_begin_multistatus): new factorized helper func; creates brigade
    and sends initial <multistatus> tag.

  (dav_send_multistatus): create brigade, call dav_begin_multistatus,
    and switch all ap_rputs calls to ap_fputs instead.  call
    dav_send_one_response when looping over response list.  use a
    subpool when iterating.

  (dav_method_propfin...
parent 80263b9e
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment