X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=hippotat.git;a=blobdiff_plain;f=client;h=c878d724cd243b5ebcaaa73d227f390435f01840;hp=48b635a9d2f62c19a2f2489f66d2a43a70bc0b54;hb=62b51bcf91b1b61b6417fb794272528f2673f3ff;hpb=e4006ac49fd7aa465361d86d079c30b4cabf4593 diff --git a/client b/client index 48b635a..c878d72 100755 --- a/client +++ b/client @@ -51,8 +51,20 @@ def outbound(packet, saddr, daddr): queue.append(packet) check_outbound() +class ResponseConsumer(twisted.internet.protocol.Protocol): + def __init__(self): + self._ssd = SlipStreamDecoder(queue_inbound) + def dataReceived(self, data): + self._ssd.inputdata(mime_translate(data)) + def connectionMade(self): pass + def connectionLost(self, reason): + if isinstance(reason, twisted.internet.error.ConnectionDone): + self._ssd.flush() + else: + print(reason, file=sys.stderr) + def req_ok(resp): - + resp.deliverBody(ResponseConsumer()) def req_err(err): print(err, >>sys.stderr)