[Zope-dev] Patch: let non-seekable streams be input for ZPublisher
(updated)
Ames Andreas (MPA/DF)
Andreas.Ames at tenovis.com
Wed Aug 18 11:22:17 EDT 2004
Hi,
I had a thinko in my previous patch
(http://mail.zope.org/pipermail/zope-dev/2004-August/023630.html)
which is corrected in the attached version of the patch. Sorry for
any inconvenience, I might have caused.
As I'm sort of protocol challenged (thanks to corporate firewall), svn
unfortunately isn't an option for me. Thus I created the patch
against lib/python/ZPublisher/HTTPRequest.py as released in 2.7.2-0.
As the patch is almost trivial it shouldn't be a problem to apply it
even manually against other vesions (at least 2.7.0, 2.7.1 and 2.7.2
should work OOTB i.e. by using /usr/bin/patch).
To sum up its purpose again: It's meant to avoid the stdin.seek()
call in the HTTPRequest class so that non-seekable streams can be used
as stdin. It also potentially avoids unnecessary (blocking) disk I/O
in retries (this depends on the according request that's being worked
on) and repeated request parsing in cgi.FieldStorage. The immediate
cause for the patch is that AJPServer uses non-seekable streams as
input for the ZPublisher. To change this locally I'd need to go with
disk buffering. Nevertheless I think this could provide a general
performance improvement.
To this end I just save the cgi.FieldStorage instance, that is created
by HTTPRequest.processInputs, when the request is worked upon for the
first time, across retry boundaries.
Questions:
- Is this the right forum/place to send patches to?
- Is there any chance that this could be applied to Zope's mainline?
(If not I will proceed with a local disk buffering scheme in the
long term.)
cheers,
andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: HTTPRequest.patch
Type: text/x-patch
Size: 3031 bytes
Desc: patch to avoid stdin.seek in class HTTPRequest
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20040818/83a46166/HTTPRequest.bin
More information about the Zope-Dev
mailing list