+ cl.process_arriving_data(d)
+ cl.new_request(request)
+
+def log_http(desca, msg, **kwargs):
+ try:
+ kwargs['d'] = desca['d']
+ del desca['d']
+ except KeyError:
+ pass
+ log_debug(DBG.HTTP, msg + repr(desca), **kwargs)
+
+class IphttpResource(twisted.web.resource.Resource):
+ isLeaf = True
+ def render_POST(self, request):
+ log_debug(DBG.HTTP_FULL,
+ 'req recv: ' + repr(request) + ' ' + repr(request.args),
+ idof=id(request))
+ desca = {'d': None}
+ try: process_request(request, desca)
+ except Exception as e:
+ emsg = traceback.format_exc()
+ log_http(desca, 'RETURNING EXCEPTION ' + emsg)
+ request.setHeader('Content-Type','text/plain; charset="utf-8"')
+ request.setResponseCode(400)
+ return (emsg + ' # ' + repr(desca) + '\r\n').encode('utf-8')
+ log_debug(DBG.HTTP_CTRL, '...', idof=id(request))
+ return NOT_DONE_YET