1
0

trustedcoin: longer timeout for server signing

fixes #5221
This commit is contained in:
SomberNight
2019-03-25 23:36:52 +01:00
parent 9b0773cf2b
commit 1cfac928f9
4 changed files with 27 additions and 13 deletions

View File

@@ -67,12 +67,12 @@ class HandlerTwoFactor(QObject, PrintError):
return
window = self.window.top_level_window()
auth_code = self.plugin.auth_dialog(window)
try:
wallet.on_otp(tx, auth_code)
except:
on_failure(sys.exc_info())
return
on_success(tx)
WaitingDialog(parent=window,
message=_('Waiting for TrustedCoin server to sign transaction...'),
task=lambda: wallet.on_otp(tx, auth_code),
on_success=lambda *args: on_success(tx),
on_error=on_failure)
class Plugin(TrustedCoinPlugin):

View File

@@ -136,7 +136,7 @@ class TrustedCoinCosignerClient(PrintError):
except:
return await resp.text()
def send_request(self, method, relative_url, data=None):
def send_request(self, method, relative_url, data=None, *, timeout=None):
network = Network.get_instance()
if not network:
raise ErrorConnectingServer('You are offline.')
@@ -148,9 +148,17 @@ class TrustedCoinCosignerClient(PrintError):
headers['user-agent'] = self.user_agent
try:
if method == 'get':
response = Network.send_http_on_proxy(method, url, params=data, headers=headers, on_finish=self.handle_response)
response = Network.send_http_on_proxy(method, url,
params=data,
headers=headers,
on_finish=self.handle_response,
timeout=timeout)
elif method == 'post':
response = Network.send_http_on_proxy(method, url, json=data, headers=headers, on_finish=self.handle_response)
response = Network.send_http_on_proxy(method, url,
json=data,
headers=headers,
on_finish=self.handle_response,
timeout=timeout)
else:
assert False
except TrustedCoinException:
@@ -219,7 +227,8 @@ class TrustedCoinCosignerClient(PrintError):
'otp': otp,
'transaction': transaction
}
return self.send_request('post', 'cosigner/%s/sign' % quote(id), payload)
return self.send_request('post', 'cosigner/%s/sign' % quote(id), payload,
timeout=60)
def transfer_credit(self, id, recipient, otp, signature_callback):
"""