[ http://issues.apache.org/jira/browse/MODPYTHON-107?page=all ]
     
Jim Gallacher resolved MODPYTHON-107:
-------------------------------------

    Fix Version: 3.2
     Resolution: Fixed

> mod_python.publisher shouldn't flush result when written.
> ---------------------------------------------------------
>
>          Key: MODPYTHON-107
>          URL: http://issues.apache.org/jira/browse/MODPYTHON-107
>      Project: mod_python
>         Type: Improvement
>   Components: publisher
>     Versions: 3.2
>     Reporter: Graham Dumpleton
>      Fix For: 3.2

>
> In mod_python.publisher, the result returned from a published function is 
> returned as the content of the response after it has been converted to a 
> string, using:
>   req.write(result)
> In doing this, the second argument of req.write() is defaulting to '1', which 
> indicates that the output should be flushed immediately.
> This fact prevents an output filter like CONTENT_LENGTH being used in 
> conjunction with mod_python.publisher.
> This output filter will add a content length header to the response, but only 
> if it is able to read the full content the first time the output filter is 
> called. Because the output is flushed at this point, the output filter isn't 
> able to do that, as it gets called twice. The first time it gets called will 
> be with the actual content, the second time happens when the handler returns 
> apache.OK and is effectively a null output call to force the output filter to 
> be closed off.
> If instead the output is written as:
>   req.write(result,0)
> the output will not be flushed immediately and instead will be output in one 
> call when apache.OK is returned. There is no loss of efficiency in doing this 
> and instead it will actually eliminate a redundant call into the output 
> filter.
> For further details of this issue see discussion in:
>   http://www.mail-archive.com/python-dev@httpd.apache.org/msg00951.html
> This makes one wander if there should be a configurable option for 
> mod_python.psp to tell it not to flush output as well so that CONTENT_LENGTH 
> could be used in that case as well. ???

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to