From 0f251efbf8fbee3da21977f6c36cdfe5cd004e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Thu, 21 Jun 2018 21:14:22 +0200 Subject: [PATCH] Fix error to correctly display for network (our API fixed the previous ugly format) --- src/api/network.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/api/network.js b/src/api/network.js index b4bfb76d..cc0bf83d 100644 --- a/src/api/network.js +++ b/src/api/network.js @@ -19,16 +19,20 @@ const userFriendlyError = (p: Promise): Promise => let msg = data.error || data.message if (typeof msg === 'string') { const m = msg.match(/^JsDefined\((.*)\)$/) - if (m) { - try { - const { message } = JSON.parse(m[1]) - if (typeof message === 'string') { - msg = message - } - } catch (e) { - logger.warn("can't parse server result", e) + const innerPart = m ? m[1] : msg + try { + const r = JSON.parse(innerPart) + let message = r.error + if (typeof message === 'object') { + message = message.message } + if (typeof message === 'string') { + msg = message + } + } catch (e) { + logger.warn("can't parse server result", e) } + if (msg && msg[0] !== '<') { throw new LedgerAPIErrorWithMessage(msg) }