diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-07-20 02:17:55 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-07-20 02:17:55 +0200 |
commit | a8bd05298eccf3ac3f89afca4b28856fbb1be82f (patch) | |
tree | 66fb1d9943d7f60e2e72f8dba4944b24e4e63b81 /src/webex/wxBackend.ts | |
parent | 8d5b1e539be1d86c3d184448de9e38fce52a7bd4 (diff) |
Store bank account information for reserve.
Fixes #4852.
Diffstat (limited to 'src/webex/wxBackend.ts')
-rw-r--r-- | src/webex/wxBackend.ts | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/webex/wxBackend.ts b/src/webex/wxBackend.ts index 0531b7d68..a8b725495 100644 --- a/src/webex/wxBackend.ts +++ b/src/webex/wxBackend.ts @@ -114,6 +114,7 @@ function handleMessage(sender: MessageSender, const d = { amount: detail.amount, exchange: detail.exchange, + senderWire: detail.senderWire, }; const req = CreateReserveRequest.checked(d); return needsWallet().createReserve(req); @@ -414,15 +415,29 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea } } - const reservePub = headers["x-taler-reserve-pub"]; - if (reservePub !== undefined) { - console.log(`confirming reserve ${reservePub} via 201`); - wallet.confirmReserve({reservePub}); + const operation = headers["x-taler-operation"]; + + if (!operation) { + // Not a taler related request. + return; + } + + if (operation == "confirm-reserve") { + const reservePub = headers["x-taler-reserve-pub"]; + if (reservePub !== undefined) { + console.log(`confirming reserve ${reservePub} via 201`); + wallet.confirmReserve({reservePub}); + } + console.warn("got 'X-Taler-Operation: confirm-reserve' without 'X-Taler-Reserve-Pub'"); return; } - const amount = headers["x-taler-amount"]; - if (amount) { + if (operation == "create-reserve") { + const amount = headers["x-taler-amount"]; + if (!amount) { + console.log("202 not understood (X-Taler-Amount missing)"); + return; + } const callbackUrl = headers["x-taler-callback-url"]; if (!callbackUrl) { console.log("202 not understood (X-Taler-Callback-Url missing)"); @@ -452,6 +467,7 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea callback_url: new URI(callbackUrl) .absoluteTo(url), suggested_exchange_url: headers["x-taler-suggested-exchange"], wt_types: wtTypes, + sender_wire: headers["x-taler-sender-wire"], }; const uri = new URI(chrome.extension.getURL("/src/webex/pages/confirm-create-reserve.html")); const redirectUrl = uri.query(params).href(); @@ -460,7 +476,8 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea chrome.tabs.update(tabId, {url: redirectUrl}); return; } - // no known headers found, not a taler request ... + + console.log("Ignoring unknown X-Taler-Operation:", operation); } |