Just don't append the EOS bucket.  That EOS is what is confusing the
content-length filter, and it is what is causing only part of the data to
be sent.  EOS buckets signify to the filter stack that no more data will
ever be sent on this connection.  If there is even the chance that there
will be more data, don't send an EOS bucket.  If you don't ever send the
EOS bucket, then Apache will just take care of it for you.

Ryan

On Thu, 17 May 2001, Jessie Oberreuter wrote:

>
> Hi!
>
>      I've been working w/ William A. Rowe on some mod_isapi issues;
> here's the deal:
>
>      Mod_isapi's WriteClient callback builds a brigade and dumps the data
> and an EOS to the request filter on each write.  This proved acceptable so
> long as only one write occurs (see mod_cgi).  However, the ISAPI interface
> is designed to allow multiple writes.  In the cases of multiple writes,
> odd things happened:  The content-length header only reflected the size of
> the initial write, and if the browser (IE5.0) sent an "Accept: */*" header
> (as it does for a refresh request), only a fraction of the datastream
> would be sent.  It was not possible to use keep-alive on the socket.
>      I corrected this problem by managing the brigade outside of the ISAPI
> funciton: the writes were all buffered and the brigade was passed to the
> filter stack when the function returned.
>      Although this solution works, Bill expressed concern at having all of
> the data buffered before sending.  I agree that transfering the data as it
> becomes available is preferable, but I do not know how to achieve this
> functionality given the current API, the problems I experienced with
> the universal Accept headers, and the fact that I don't know how much data
> I'm going to output until I'm done.
>
> --
> Jessie Oberreuter
> [EMAIL PROTECTED]
> "He's a bit on edge, Mr. Johnston -- he hasn't slept since 1945."
>
>
>
>
>
>


_______________________________________________________________________________
Ryan Bloom                              [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------

Reply via email to