On 26 September 2002, I said: > does anyone care about HTTP upload with Quixote? We have found it to be > unreliable with large uploads over slow links; at first we thought it > was due to buggy browsers, but then I sat down and implemented an > upload.cgi script that doesn't use the upload support in Python's cgi.py > at all (except for some MIME header-parsing code). Turns out that it > works perfectly well -- in other words, I suspect that HTTP upload to > Quixote is flaky because Quixote ultimately relies on cgi.py. I spoke too soon. It looks like the cause of our upload problems ultimately was really mod_scgi, not cgi.py! The problem was that mod_scgi wasn't resetting Apache's timeout while reading the request, so if a request took more than 5 minutes to read -- remember, big file over slow link -- Apache timed out and cut the connection, even though the client was still happily feeding data to it, and mod_scgi was still happily reading that data and passing it to the SCGI application. Neil just checked in a change to mod_scgi.c that seems to have done the trick. That said, I still think the new quixote.upload module and HTTPUploadRequest class are worthwhile additions to Quixote; they're much simpler and a tad more efficient than the old way. Greg -- Greg Ward - software developer gward@mems-exchange.org MEMS Exchange http://www.mems-exchange.org