X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=processor.py;h=446c37fc3e49ab65e066429e6681b1afdc37853c;hb=27bd2d1754b5949678d1ee7ff5efad4b3c8bef6f;hp=84af96273a67fb0c67cc34a3f1a33eb4e935ad79;hpb=549ff3f84b6ea240285659e29ed613aa9a2182d7;p=electrum-server.git diff --git a/processor.py b/processor.py index 84af962..446c37f 100644 --- a/processor.py +++ b/processor.py @@ -40,7 +40,8 @@ class Processor(threading.Thread): pass def push_response(self, response): - self.dispatcher.request_dispatcher.push_response(response) + print "response", response + #self.dispatcher.request_dispatcher.push_response(response) @@ -196,21 +197,22 @@ class ResponseDispatcher(threading.Thread): response = self.processor.pop_response() #print "pop response", response internal_id = response.get('id') - params = response.get('params',[]) - try: - method = response['method'] - except: - print "no method", response - continue - - if internal_id: - session, message_id = self.processor.get_session_id(internal_id) - response['id'] = message_id - session.send_response(response) - - else: + params = response.get('params', []) + + # This is wrong. "params" and "method" should never + # be in a response. + if internal_id is None: + method = response.get('method') + if method is None: + print "no method", response + continue for session in self.processor.sessions: if not session.stopped(): if (method,params) in session.subscriptions: session.send_response(response) + continue + + session, message_id = self.processor.get_session_id(internal_id) + response['id'] = message_id + session.send_response(response)