En Wed, 06 Jan 2010 13:39:08 -0300, pbienst <peter.bienst...@gmail.com>
escribió:
The problem seems to be that the
receiving end (wsgi server) does not see the end of the data:
socket = environ["wsgi.input"]
while True:
sys.stderr.write("before")
chunk = socket.read(4096)
sys.stderr.write("after")
if not chunk:
sys.stderr.write("done")
break
sys.stderr.write(chunk)
There is data from the tar file being printed, but in the end it hangs
in the 'before' statement, and never gets to 'done'. I tried flushing
the fileobj created by makefile(), but that doesn't seem to help.
There is also no environ["CONTENT_LENGTH"] that I can use to detect
the end of the stream.
I'm probably missing something basic here...
Either send a "Connection: Close" header (and close the connection at the
end), or a "Transfer-Encoding: chunked" header (see
http://en.wikipedia.org/wiki/Chunked_transfer_encoding )
--
Gabriel Genellina
--
http://mail.python.org/mailman/listinfo/python-list