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, **kwargs):
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 self.kwargs = kwargs
20
23
25
26 if self.mesg and self.mesg.should_close():
27 raise StopIteration()
28
29
30 if self.mesg:
31 data = self.mesg.body.read(8192)
32 while data:
33 data = self.mesg.body.read(8192)
34
35
36 self.mesg = self.mesg_class(self.unreader, **self.kwargs)
37 if not self.mesg:
38 raise StopIteration()
39 return self.mesg
40
44
48