From 04aad590fb9e6141982a3d0a5aec7c29356e9c76 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 12 Feb 2017 04:40:28 +0100 Subject: [PATCH] accept exchange URL suggestion from bank --- src/content_scripts/notify.ts | 1 + src/pages/confirm-create-reserve.tsx | 6 +++++- src/wxBackend.ts | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/content_scripts/notify.ts b/src/content_scripts/notify.ts index 022eada07..ef3a3ed62 100644 --- a/src/content_scripts/notify.ts +++ b/src/content_scripts/notify.ts @@ -209,6 +209,7 @@ namespace TalerNotify { .absoluteTo(document.location.href), bank_url: document.location.href, wt_types: JSON.stringify(msg.wt_types), + suggested_exchange_url: msg.suggested_exchange_url, }; let uri = URI(chrome.extension.getURL("/src/pages/confirm-create-reserve.html")); let redirectUrl = uri.query(params).href(); diff --git a/src/pages/confirm-create-reserve.tsx b/src/pages/confirm-create-reserve.tsx index da86729d3..44dd60d95 100644 --- a/src/pages/confirm-create-reserve.tsx +++ b/src/pages/confirm-create-reserve.tsx @@ -396,7 +396,11 @@ export async function main() { throw Error(i18n.str`Can't parse wire_types: ${e.message}`); } - const suggestedExchangeUrl = await getSuggestedExchange(amount.currency); + let suggestedExchangeUrl = await getSuggestedExchange(amount.currency); + if (!suggestedExchangeUrl && query.suggested_exchange_url) { + suggestedExchangeUrl = query.suggested_exchange_url; + } + let args = { wt_types, suggestedExchangeUrl, diff --git a/src/wxBackend.ts b/src/wxBackend.ts index b519cd33a..6bcedafcd 100644 --- a/src/wxBackend.ts +++ b/src/wxBackend.ts @@ -90,6 +90,7 @@ function makeHandlers(db: IDBDatabase, const d = { exchange: detail.exchange, amount: detail.amount, + suggested_exchange_url: detail.suggested_exchange_url }; const req = CreateReserveRequest.checked(d); return wallet.createReserve(req); @@ -403,6 +404,7 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea .absoluteTo(url), bank_url: url, wt_types: wtTypes, + suggested_exchange_url: headers["x-taler-suggested-exchange"], }; let uri = URI(chrome.extension.getURL("/src/pages/confirm-create-reserve.html")); let redirectUrl = uri.query(params).href();