diff options
Diffstat (limited to 'python/qpid/peer.py')
-rw-r--r-- | python/qpid/peer.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/python/qpid/peer.py b/python/qpid/peer.py index 8d5029004e..b5c655dc2a 100644 --- a/python/qpid/peer.py +++ b/python/qpid/peer.py @@ -220,6 +220,8 @@ class Channel: work.put(self.incoming) elif isinstance(frame, Response): self.requester.receive(self, frame) + if frame.method_type.content: + self.queue = self.responses return self.queue.put(frame) @@ -241,7 +243,11 @@ class Channel: return None try: resp = self.responses.get() - return Message(self, resp) + if resp.method_type.content: + return Message(self, resp, read_content(self.responses)) + else: + return Message(self, resp) + except QueueClosed, e: if self.closed: raise Closed(self.reason) |