From 9aa11043fa621582edc95c11140c9904db99bc84 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 1 Apr 2017 20:31:08 +0100 Subject: [PATCH] want revert this somehow but the revert of it is buggy --- client | 55 ++++++++++++++++-------------------------------- hippotat/slip.py | 2 +- 2 files changed, 19 insertions(+), 38 deletions(-) diff --git a/client b/client index e99cb49..829087e 100755 --- a/client +++ b/client @@ -59,54 +59,38 @@ def outbound(packet, saddr, daddr): check_outbound() class ResponseConsumer(twisted.internet.protocol.Protocol): - def __init__(self, req): - self._req = req + def __init__(self): self._ssd = SlipStreamDecoder(queue_inbound) - self._log(DBG.HTTP_CTRL, '__init__') - - def _log(self, dflag, msg, **kwargs): - log_debug(dflag, 'RC ' + msg, idof=self._req, **kwargs) def dataReceived(self, data): - self._log(DBG.HTTP_CTRL, 'dataReceived', d=data) - try: - self._ssd.inputdata(mime_translate(data)) - except Exception as e: - self._asyncfailure(e) - - def connectionMade(self): - self._log(DBG.HTTP_CTRL, 'connectionMade', d=data) - + try: self._ssd.inputdata(mime_translate(data)) + except Exception as e: asyncfailure(e) + def connectionMade(self): pass def connectionLost(self, reason): - self._log(DBG.HTTP_CTRL, 'connectionLost', d=data) if isinstance(reason, twisted.internet.error.ConnectionDone): try: self._ssd.flush() - except Exception as e: - self._asyncfailure(e) + except Exception as e: asyncfailure(e) else: - self._asyncfailure(reason) - - def _asyncfailure(self, reason): - global outstanding - outstanding += 1 - req_err(self._req, reason) + asyncfailure(reason) -def req_ok(req, resp): - log_http(DBG.HTTP_CTRL, 'req_ok ' % str(resp), idof=req) - resp.deliverBody(ResponseConsumer(req)) - req_fin(req) +def req_ok(resp): + resp.deliverBody(ResponseConsumer()) + req_fin() -def req_err(req, err): - log_http(DBG.HTTP_CTRL, 'req_err ' % str(err), idof=req) +def req_err(err): print(err, file=sys.stderr) - reactor.callLater(c.http_retry, (lambda: req_fin(req))) + reactor.callLater(c.http_retry, req_fin) -def req_fin(req): - log_http(DBG.HTTP_CTRL, 'req_fin', idof=req) +def req_fin(*args): global outstanding outstanding -= 1 check_outbound() +def asyncfailure(reason): + global outstanding + outstanding += 1 + req_err(reason) + def check_outbound(): global outstanding @@ -156,11 +140,8 @@ def check_outbound(): c.url, twisted.web.client.Headers(hh), producer) - - log_debug(DBG.HTTP_CTRL, 'request', idof=req, d=d) req.addTimeout(c.http_timeout, reactor) - req.addCallbacks((lambda resp: req_ok(req,resp)), - (lambda resp: req_err(req,resp))) + req.addCallbacks(req_ok, req_err) outstanding += 1 common_startup() diff --git a/hippotat/slip.py b/hippotat/slip.py index f135137..e339f69 100644 --- a/hippotat/slip.py +++ b/hippotat/slip.py @@ -12,7 +12,7 @@ def encode(packet): .replace(end, esc + esc_end)) def decode(data): - #print('DECODE ', repr(data)) + print('DECODE ', repr(data)) out = [] for packet in data.split(end): pdata = b'' -- 2.30.2