X-Git-Url: https://git.novaco.in/?p=electrum-server.git;a=blobdiff_plain;f=processor.py;h=be61c73adab9632a78dcc5181079892e68967987;hp=84af96273a67fb0c67cc34a3f1a33eb4e935ad79;hb=6aa3171194992e77be00b68287f1fedeb43c8fce;hpb=69a90fd82dbcbbeb7e846ae9c4e45acf026dabec diff --git a/processor.py b/processor.py index 84af962..be61c73 100644 --- a/processor.py +++ b/processor.py @@ -196,21 +196,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)