No middleware if no ipc, add prefix env var
This commit is contained in:
@@ -8,14 +8,13 @@ re_websocket = re.compile('^wss?://')
|
||||
re_http = re.compile('^https?://')
|
||||
|
||||
|
||||
#def create_middleware(ipcaddr='/var/run/cic-platform/cic.ipc'):
|
||||
def create_middleware(ipcpath):
|
||||
PlatformMiddleware.ipcaddr = ipcpath
|
||||
return PlatformMiddleware
|
||||
|
||||
|
||||
# overrides the original Web3 constructor
|
||||
def Web3(blockchain_provider='ws://localhost:8546', ipcpath='/run/crypto-dev-signer/jsonrpc.ipc'):
|
||||
def Web3(blockchain_provider='ws://localhost:8546', ipcpath=None):
|
||||
provider = None
|
||||
if re.match(re_websocket, blockchain_provider) != None:
|
||||
provider = WebsocketProvider(blockchain_provider)
|
||||
@@ -24,6 +23,8 @@ def Web3(blockchain_provider='ws://localhost:8546', ipcpath='/run/crypto-dev-sig
|
||||
|
||||
w3 = Web3super(provider)
|
||||
|
||||
w3.middleware_onion.add(create_middleware(ipcpath))
|
||||
if ipcpath != None:
|
||||
w3.middleware_onion.add(create_middleware(ipcpath))
|
||||
|
||||
w3.eth.personal = w3.geth.personal
|
||||
return w3
|
||||
|
||||
@@ -23,12 +23,13 @@ class PlatformMiddleware:
|
||||
# hack workaround
|
||||
id_seq = -1
|
||||
re_personal = re.compile('^personal_.*')
|
||||
ipcaddr = '/tmp/foo.ipc'
|
||||
ipcaddr = None
|
||||
|
||||
|
||||
def __init__(self, make_request, w3):
|
||||
self.w3 = w3
|
||||
self.make_request = make_request
|
||||
raise AttributeError('ipcaddr not set')
|
||||
|
||||
|
||||
# TODO: understand what format input params come in
|
||||
@@ -51,7 +52,7 @@ class PlatformMiddleware:
|
||||
def __call__(self, method, suspect_params):
|
||||
|
||||
self.id_seq += 1
|
||||
logg.debug('in middleware method {} params {}'.format(method, suspect_params))
|
||||
logg.debug('in middleware method {} params {} ipcpath {}'.format(method, suspect_params, self.ipcaddr))
|
||||
|
||||
if self.re_personal.match(method) != None:
|
||||
params = PlatformMiddleware._translate_params(suspect_params)
|
||||
|
||||
Reference in New Issue
Block a user