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):
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
# 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()
# 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):