From fc0ba433402d7103b351d7742aa20ff62800a0dd Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 1 Apr 2017 20:01:35 +0100 Subject: [PATCH] wip --- client | 24 ++++++++++++++++-------- server | 2 +- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/client b/client index 2709015..7727f2b 100755 --- a/client +++ b/client @@ -62,6 +62,7 @@ class ResponseConsumer(twisted.internet.protocol.Protocol): def __init__(self, req): self._req = req 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) @@ -91,14 +92,17 @@ class ResponseConsumer(twisted.internet.protocol.Protocol): req_err(self._req, reason) def req_ok(req, resp): + log_http(DBG.HTTP_CTRL, 'req_ok ' % str(resp), idof=req) resp.deliverBody(ResponseConsumer(req)) - req_fin() + req_fin(req) def req_err(req, err): + log_http(DBG.HTTP_CTRL, 'req_err ' % str(err), idof=req) print(err, file=sys.stderr) - reactor.callLater(c.http_retry, req_fin) + reactor.callLater(c.http_retry, (lambda: req_fin(req))) -def req_fin(*args): +def req_fin(req): + log_http(DBG.HTTP_CTRL, 'req_fin', idof=req) global outstanding outstanding -= 1 check_outbound() @@ -116,6 +120,8 @@ def check_outbound(): moredata, c.max_batch_up) + d = mime_translate(d) + crlf = b'\r\n' lf = b'\n' mime = (b'--b' + crlf + @@ -128,7 +134,7 @@ def check_outbound(): b'--b' + crlf + b'Content-Type: application/octet-stream' + crlf + b'Content-Disposition: form-data; name="d"' + crlf + crlf + - mime_translate(d) + crlf + d + crlf ) if len(d) else b'') + b'--b--' + crlf) @@ -140,16 +146,18 @@ def check_outbound(): log_debug(DBG.HTTP_FULL, 'requesting: ' + str(mime)) hh = { 'User-Agent': ['hippotat'], - 'Content-Type': ['multipart/form-data; boundary="b"'], - 'Content-Length': [str(len(mime))] } + 'Content-Type': ['multipart/form-data; boundary="b"'] +# , 'Content-Length': [str(len(mime))] + } bytesreader = io.BytesIO(mime) producer = twisted.web.client.FileBodyProducer(bytesreader) req = agent.request(b'POST', c.url, - twisted.web.client.Headers(hh), - producer) + twisted.web.client.Headers(hh) +# , producer + ) log_debug(DBG.HTTP_CTRL, 'request', idof=req, d=d) req.addTimeout(c.http_timeout, reactor) diff --git a/server b/server index 6a71bfd..79bd15b 100755 --- a/server +++ b/server @@ -139,7 +139,7 @@ class Client(): def process_request(request, desca): # find client, update config, etc. - metadata = request.args[b'm'][0] + metadata = request.args[b'mX'][0] metadata = metadata.split(b'\r\n') (ci_s, pw, tro) = metadata[0:3] desca['m[0,2]'] = [ci_s, tro] -- 2.30.2