1
2
3
4
5
6 import socket
7
8 from restkit.http.message import Request, Response
9 from restkit.http.unreader import SocketUnreader, IterUnreader
10
12 - def __init__(self, mesg_class, source, release_source=None):
13 self.mesg_class = mesg_class
14 if isinstance(source, socket.socket):
15 self.unreader = SocketUnreader(source, release_fun=release_source)
16 else:
17 self.unreader = IterUnreader(source, release_fun=release_source)
18 self.mesg = None
19
22
24
25 if self.mesg and self.mesg.should_close():
26 raise StopIteration()
27
28
29 if self.mesg:
30 data = self.mesg.body.read(8192)
31 while data:
32 data = self.mesg.body.read(8192)
33
34
35 self.mesg = self.mesg_class(self.unreader)
36 if not self.mesg:
37 raise StopIteration()
38 return self.mesg
39
43
47