Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 96376 invoked from network); 9 Apr 2005 23:55:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 Apr 2005 23:55:30 -0000 Received: (qmail 30989 invoked by uid 500); 9 Apr 2005 23:55:29 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 30928 invoked by uid 500); 9 Apr 2005 23:55:29 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 30914 invoked by uid 99); 9 Apr 2005 23:55:29 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Sat, 09 Apr 2005 16:55:28 -0700 Received: (qmail 96346 invoked by uid 65534); 9 Apr 2005 23:55:27 -0000 Message-ID: <20050409235527.96345.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Sat, 09 Apr 2005 23:55:26 -0000 Subject: svn commit: r160723 - in httpd/httpd/branches/2.0.x: STATUS modules/dav/main/mod_dav.c To: cvs@httpd.apache.org From: striker@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: striker Date: Sat Apr 9 16:55:25 2005 New Revision: 160723 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D160723 Log: Backport. * STATUS Remove backport vote. * modules/dav/main/mod_dav.c (dav_finish_multistatus, dav_send_multistatus, dav_method_propfind): Send an EOS at the end of the multistatus brigade. http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/dav/main/mod_dav.c= ?r1=3D1.105&r2=3D1.106 +1: jorton, jerenkrantz, pquerna nd asks: Sure, you want to drop the return code of ap_pass_brigade? jerenkrantz: They already did drop it. Note that this really isn't a correctness fix; just a perf. fix. We'd send the EOS later without it. Modified: httpd/httpd/branches/2.0.x/STATUS httpd/httpd/branches/2.0.x/modules/dav/main/mod_dav.c Modified: httpd/httpd/branches/2.0.x/STATUS URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/STATUS?view= =3Ddiff&r1=3D160722&r2=3D160723 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- httpd/httpd/branches/2.0.x/STATUS (original) +++ httpd/httpd/branches/2.0.x/STATUS Sat Apr 9 16:55:25 2005 @@ -153,14 +153,6 @@ have already. *shrug* Regardless, patch looks okay... +1: nd, jerenkrantz =20 - *) mod_dav: Send an EOS at the end of the multistatus brigade. - http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/dav/main/mod_da= v=2Ec?r1=3D1.105&r2=3D1.106 - +1: jorton, jerenkrantz, pquerna - nd asks: Sure, you want to drop the return code of ap_pass_brigad= e? - jerenkrantz: They already did drop it. Note that this really isn= 't - a correctness fix; just a perf. fix. We'd send the = EOS - later without it. - * Rewrite how proxy sends its request to allow input bodies to=20 morph the request bodies. Previously, if an input filter changed the request body, the original C-L would be sent which Modified: httpd/httpd/branches/2.0.x/modules/dav/main/mod_dav.c URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.0.x/modules/dav/m= ain/mod_dav.c?view=3Ddiff&r1=3D160722&r2=3D160723 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- httpd/httpd/branches/2.0.x/modules/dav/main/mod_dav.c (original) +++ httpd/httpd/branches/2.0.x/modules/dav/main/mod_dav.c Sat Apr 9 16:55:= 25 2005 @@ -509,6 +509,21 @@ ap_fputs(r->output_filters, bb, ">" DEBUG_CR); } =20 +/* Finish a multistatus response started by dav_begin_multistatus: */ +static apr_status_t dav_finish_multistatus(request_rec *r, + apr_bucket_brigade *bb) +{ + apr_bucket *b; + =20 + ap_fputs(r->output_filters, bb, "" DEBUG_CR); + =20 + /* indicate the end of the response body */ + b =3D apr_bucket_eos_create(r->connection->bucket_alloc); + APR_BRIGADE_INSERT_TAIL(bb, b); + + /* deliver whatever might be remaining in the brigade */ + return ap_pass_brigade(r->output_filters, bb); +} =20 static void dav_send_multistatus(request_rec *r, int status, dav_response *first, @@ -528,8 +543,7 @@ } apr_pool_destroy(subpool); =20 - ap_fputs(r->output_filters, bb, "" DEBUG_CR); - ap_filter_flush(bb, r->output_filters); + dav_finish_multistatus(r, bb); } =20 /* @@ -2049,8 +2063,7 @@ return DONE; } =20 - /* Finish up the multistatus response. */ - ap_fputs(r->output_filters, ctx.bb, "" DEBUG_CR); + dav_finish_multistatus(r, ctx.bb); ap_filter_flush(ctx.bb, r->output_filters); =20 /* the response has been sent. */