This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author quentel
Recipients MLModel, georg.brandl, ggenellina, gvanrossum, quentel, r.david.murray, vstinner
Date 2012-05-03.07:54:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1336031668.17.0.111066920056.issue8077@psf.upfronthosting.co.za>
In-reply-to
Content
There are 2 different problems :
- handling of data by cgi.FieldStorage (issue 4953) : fixed since version 3.2
- in http.server.CGIHTTPRequestHandler, for POST requests on Windows, before opening the subprocess in run_cgi() all data is read by a *single* call to self.rfile.read(). If not all bytes are read by this single call, which is the case for a large file upload, only the read data are processed

The attached patch modifies http.server :
- if all data are read in the first call to self.rfile.read() (that is, if its length is equal to the Content-length header), process them
- if not, store all data in a temporary file (not in memory) and set the stdin argument of subprocess.Popen to this temporary file

With this patch, the tests provided by Mitchell all work on my PC (Windows XP Pro SP3)
History
Date User Action Args
2012-05-03 07:54:28quentelsetrecipients: + quentel, gvanrossum, georg.brandl, ggenellina, vstinner, MLModel, r.david.murray
2012-05-03 07:54:28quentelsetmessageid: <1336031668.17.0.111066920056.issue8077@psf.upfronthosting.co.za>
2012-05-03 07:54:27quentellinkissue8077 messages
2012-05-03 07:54:27quentelcreate