Problem generating Transfer-Encoding: chunked
Hi All, I'm in the process of writing a python script that goes through a long list in batches and outputs its progress to HTML. (Zope 2.7.5 behind Apache) The result is not what I expected: instead of returning the results in small chunks, Zope (Apache, gremlins?) rewrites the output and returns much larger sections of data. If I remove the Transfer-Encoding header and replace it with a fixed Content-Length, I can see that my script outputs its chunks as intended... Can anyone offer suggestions? Norbert [Code below:] RESPONSE=context.REQUEST.RESPONSE RESPONSE.setHeader('Content-Type', 'text/html') RESPONSE.setHeader('Transfer-Encoding', 'chunked') RESPONSE.write( str(hex(len(htmlHeader)))[2:]+'\n'+htmlHeader+'\n' ) def doBatch(start, end): -- run through list and output -- RESPONSE.write(str(hex(len(htmlContent)))[2:]+'\n'+htmlContent+'\n') while myBatch <= numBatches and start <> -1: start = doBatch(start,end) end = start + batchSize myBatch +=1 RESPONSE.write(str(hex(len(htmlFooter)))[2:]+'\n'+htmlFooter+'\n\n') [incorrect HTML output snippet:] HTTP/1.1 200 OK Date: Fri, 15 Sep 2006 22:37:22 GMT Server: Zope/(Zope 2.7.5-final, python 2.3.5, freebsd4) ZServer/1.1 Content-Type: text/html X-Cache: MISS from xxx.xxx.xxx Keep-Alive: timeout=15, max=99 Connection: Keep-Alive Transfer-Encoding: chunked db8 <html> <head> <title>Progress Report...</title> </head> <body> <h2>Batch 0: 0 - 25</h2> <-- expected new chunk <p>[data]</p> <h2>Batch 1: 26 - 51</h2> <-- expected new chunk <p>[data]</p> <h2>Batch 2: 51 - 76</h2> <-- expected new chunk <p>[data]</p> 45e <h2>Batch 3: 76 - 101</h2> <-- why does chunk start here? <p>[data]</p> <hr> <-- expected new chunk <h2>DONE!</h2> </body> </html> 0
participants (1)
-
Norbert Marrale