support headers without 'X-' prefix

This commit is contained in:
Florian Dold 2019-08-23 18:50:14 +02:00
parent 98c15905ea
commit 87fdafb1a5
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B

View File

@ -526,12 +526,12 @@ function handleHttpPayment(headerList: chrome.webRequest.HttpHeader[], url: stri
} }
const fields = { const fields = {
contract_url: headers["x-taler-contract-url"], contract_url: headers["x-taler-contract-url"] || headers["taler-contract-url"],
offer_url: headers["x-taler-offer-url"], offer_url: headers["x-taler-offer-url"] || headers["taler-offer-url"],
refund_url: headers["x-taler-refund-url"], refund_url: headers["x-taler-refund-url"] || headers["taler-refund-url"],
resource_url: headers["x-taler-resource-url"], resource_url: headers["x-taler-resource-url"] || headers["taler-resource-url"],
session_id: headers["x-taler-session-id"], session_id: headers["x-taler-session-id"] || headers["taler-session-id"],
tip: headers["x-taler-tip"], tip: headers["x-taler-tip"] || headers["taler-tip"],
}; };
const talerHeaderFound = Object.keys(fields).filter((x: any) => (fields as any)[x]).length !== 0; const talerHeaderFound = Object.keys(fields).filter((x: any) => (fields as any)[x]).length !== 0;
@ -598,7 +598,7 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea
} }
} }
const operation = headers["x-taler-operation"]; const operation = headers["x-taler-operation"] || headers["taler-operation"];
if (!operation) { if (!operation) {
// Not a taler related request. // Not a taler related request.
@ -617,12 +617,12 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea
} }
if (operation === "create-reserve") { if (operation === "create-reserve") {
const amount = headers["x-taler-amount"]; const amount = headers["x-taler-amount"] || headers["taler-amount"];
if (!amount) { if (!amount) {
console.log("202 not understood (X-Taler-Amount missing)"); console.log("202 not understood (X-Taler-Amount missing)");
return; return;
} }
const callbackUrl = headers["x-taler-callback-url"]; const callbackUrl = headers["x-taler-callback-url"] || headers["taler-callback-url"];
if (!callbackUrl) { if (!callbackUrl) {
console.log("202 not understood (X-Taler-Callback-Url missing)"); console.log("202 not understood (X-Taler-Callback-Url missing)");
return; return;
@ -639,7 +639,7 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea
chrome.tabs.update(tabId, {url: errRedirectUrl}); chrome.tabs.update(tabId, {url: errRedirectUrl});
return; return;
} }
const wtTypes = headers["x-taler-wt-types"]; const wtTypes = headers["x-taler-wt-types"] || headers["taler-wt-types"];
if (!wtTypes) { if (!wtTypes) {
console.log("202 not understood (X-Taler-Wt-Types missing)"); console.log("202 not understood (X-Taler-Wt-Types missing)");
return; return;
@ -648,8 +648,8 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea
amount, amount,
bank_url: url, bank_url: url,
callback_url: new URI(callbackUrl) .absoluteTo(url), callback_url: new URI(callbackUrl) .absoluteTo(url),
sender_wire: headers["x-taler-sender-wire"], sender_wire: headers["x-taler-sender-wire"] || headers["taler-sender-wire"],
suggested_exchange_url: headers["x-taler-suggested-exchange"], suggested_exchange_url: headers["x-taler-suggested-exchange"] || headers["taler-suggested-exchange"],
wt_types: wtTypes, wt_types: wtTypes,
}; };
const uri = new URI(chrome.extension.getURL("/src/webex/pages/confirm-create-reserve.html")); const uri = new URI(chrome.extension.getURL("/src/webex/pages/confirm-create-reserve.html"));
@ -660,7 +660,7 @@ function handleBankRequest(wallet: Wallet, headerList: chrome.webRequest.HttpHea
return; return;
} }
console.log("Ignoring unknown X-Taler-Operation:", operation); console.log("Ignoring unknown (X-)Taler-Operation:", operation);
} }