X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=transports%2Fstratum_http.py;h=b9fe30c6cf1dd7e70cdf0fa922caf3105d45838a;hb=65383ca074c7ee02311df11d57ca42061177558e;hp=7a8ece22ba4ef84ea1231d4b1cdfe2bc5ee36ccf;hpb=a92c552cb893495de62a2c594f3aac34ee643bb0;p=electrum-server.git diff --git a/transports/stratum_http.py b/transports/stratum_http.py index 7a8ece2..b9fe30c 100644 --- a/transports/stratum_http.py +++ b/transports/stratum_http.py @@ -341,13 +341,14 @@ class HttpSession(Session): self.pending_responses.append(response) class HttpServer(threading.Thread): - def __init__(self, shared, _processor, host, port): - self.shared = shared - self.processor = _processor + def __init__(self, dispatcher, host, port, password): + self.shared = dispatcher.shared + self.dispatcher = dispatcher.request_dispatcher threading.Thread.__init__(self) self.daemon = True self.host = host self.port = port + self.password = password self.lock = threading.Lock() def run(self): @@ -370,11 +371,16 @@ class HttpServer(threading.Thread): #print session, request session = self.server.sessions.get(session_id) if session: - self.processor.process(session, request) + self.dispatcher.process(session, request) def do_stop(self, session, request): - self.shared.stop() - return 'ok' + try: + password = request['params'][0] + except: + password = None + if password == self.password: + self.shared.stop() + return 'ok'