@@ -196,18 +196,14 @@ def addCORS(self):
196196class Proxy (HTTPServer ):
197197
198198 def __init__ (self , proxy_url , backend_path ):
199-
199+ self . proxy_url = proxy_url
200200 url = urlparse (proxy_url )
201201 assert url .scheme == 'http'
202202 proxy_address = url .hostname , url .port
203203
204204 super (Proxy , self ).__init__ (proxy_address , HTTPRequestHandler )
205205
206206 self .backend_address = path .expanduser (backend_path )
207- self .conn = get_ipc_connector (self .backend_address )
208-
209- print ("JSON-RPC HTTP Proxy: {} -> {}" .format (
210- self .backend_address , proxy_url ), file = sys .stderr , flush = True )
211207
212208 def process (self , request ):
213209 self .conn .sendall (request )
@@ -224,6 +220,12 @@ def process(self, request):
224220
225221 return response
226222
223+ def run (self ):
224+ self .conn = get_ipc_connector (self .backend_address )
225+ print ("JSON-RPC HTTP Proxy: {} -> {}" .format (
226+ self .backend_address , self .proxy_url ), file = sys .stderr , flush = True )
227+ self .serve_forever ()
228+
227229
228230if sys .platform == 'win32' :
229231 DEFAULT_BACKEND_PATH = r'\\.\pipe\geth.ipc'
@@ -254,14 +256,14 @@ def parse_args():
254256def run (proxy_url = DEFAULT_PROXY_URL , backend_path = DEFAULT_BACKEND_PATH ):
255257 proxy = Proxy (proxy_url , backend_path )
256258 try :
257- proxy .serve_forever ()
259+ proxy .run ()
258260 except KeyboardInterrupt :
259261 proxy .shutdown ()
260262
261263
262264def run_daemon (proxy_url = DEFAULT_PROXY_URL , backend_path = DEFAULT_BACKEND_PATH ):
263265 proxy = Proxy (proxy_url , backend_path )
264- th = threading .Thread (name = 'jsonrpcproxy' , target = proxy .serve_forever )
266+ th = threading .Thread (name = 'jsonrpcproxy' , target = proxy .run )
265267 th .daemon = True
266268 th .start ()
267269 return proxy
0 commit comments