X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=hippotatd;h=bbc866618e37011cdebc101ec620878bd9ea1b67;hb=dce21e00c38132b17ec973923f4f7d0cbf47049f;hp=0482876e4410db45729482631453571a9a7c18a7;hpb=71f9ddb6f396ddbed730155dea6adbb83d2df841;p=hippotat.git diff --git a/hippotatd b/hippotatd index 0482876..bbc8666 100755 --- a/hippotatd +++ b/hippotatd @@ -126,7 +126,7 @@ class Client(): nf = request.notifyFinish() nf.addErrback(self._req_error, request) nf.addCallback(self._req_fin, request, cl) - self._rq.append(request) + self._rq.append((request,nf)) self._check_outbound() def _req_write(self, req, d): @@ -136,9 +136,9 @@ class Client(): def _check_outbound(self): log_debug(DBG.HTTP_CTRL, 'CHKO') while True: - try: request = self._rq[0] + try: (request,nf) = self._rq[0] except IndexError: request = None - if request and request.finished: + if request and nf.called: self._log(DBG.HTTP_CTRL, 'CHKO req finished, discard', idof=request) self._rq.popleft() continue @@ -166,7 +166,7 @@ class Client(): # round again, looking for more to do while len(self._rq) > self.cc.target_requests_outstanding: - request = self._rq.popleft() + (request, nf) = self._rq.popleft() self._log(DBG.HTTP, 'CHKO above target, returning empty', idof=request) request.finish() @@ -182,7 +182,7 @@ def process_request(request, desca): ci = ipaddr(ci_s) desca['ci'] = ci cl = clients[ci] - if pw != cl.cc.password: raise ValueError('bad password') + if pw != cl.cc.secret: raise ValueError('bad secret') desca['pwok']=True if tro != cl.cc.target_requests_outstanding: @@ -218,7 +218,7 @@ class NotStupidResource(twisted.web.resource.Resource): # why this is not the default is a mystery! def getChild(self, name, request): if name == b'': return self - else: return twisted.web.resource.Resource.getChild(name, request) + else: return twisted.web.resource.Resource.getChild(self, name, request) class IphttpResource(NotStupidResource): def render_POST(self, request):