Ticket #5915: twisted-chunked-encoding.rpy

File twisted-chunked-encoding.rpy, 0.9 KB (added by exarkun, 20 months ago)
Line 
1import random
2from twisted.web import resource, server
3
4DOC = '/tmp/tmpZuSk7B'
5CRLF = '\r\n'
6
7class InProgressIdx(resource.Resource):
8        def render_GET(self, request):
9                self.ChunkedDeliverIndex(request)
10                return server.NOT_DONE_YET
11
12        def ChunkedDeliverIndex(self, request):
13                f = open(DOC)
14                while 1:
15                        chunk_size = random.randint(100, 1000)
16                        chunk_data = f.read(chunk_size)
17                        if len(chunk_data) != chunk_size:
18                                chunk_size = len(chunk_data)
19                        if chunk_size == 0:
20                                request.write('0' + CRLF)
21                                break
22                        request.write(chunk_data)
23                request.finish()
24                f.close()
25
26resource = InProgressIdx()