summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/browserHttpLib.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-01-06 18:09:59 +0100
committerFlorian Dold <florian@dold.me>2021-01-06 18:09:59 +0100
commit3773a4cdfff26297981094cb5c48e755ac75a77c (patch)
tree8f14933e84c381c91aaa3ebd2f59898f428d11a0 /packages/taler-wallet-webextension/src/browserHttpLib.ts
parentaf08b2d1feb67b88c9554f34b4b44caa548eda7e (diff)
downloadwallet-core-3773a4cdfff26297981094cb5c48e755ac75a77c.tar.gz
wallet-core-3773a4cdfff26297981094cb5c48e755ac75a77c.tar.bz2
wallet-core-3773a4cdfff26297981094cb5c48e755ac75a77c.zip
browser fixes
Diffstat (limited to 'packages/taler-wallet-webextension/src/browserHttpLib.ts')
-rw-r--r--packages/taler-wallet-webextension/src/browserHttpLib.ts13
1 files changed, 10 insertions, 3 deletions
diff --git a/packages/taler-wallet-webextension/src/browserHttpLib.ts b/packages/taler-wallet-webextension/src/browserHttpLib.ts
index bfc855633..08364e404 100644
--- a/packages/taler-wallet-webextension/src/browserHttpLib.ts
+++ b/packages/taler-wallet-webextension/src/browserHttpLib.ts
@@ -24,6 +24,7 @@ import {
HttpRequestOptions,
HttpResponse,
Headers,
+ bytesToString,
} from "taler-wallet-core";
import { TalerErrorCode } from "taler-wallet-core";
@@ -78,10 +79,16 @@ export class BrowserHttpLib implements HttpRequestLibrary {
reject(exc);
return;
}
+ const makeText = async (): Promise<string> => {
+ const td = new TextDecoder();
+ return td.decode(myRequest.response);
+ };
const makeJson = async (): Promise<any> => {
let responseJson;
try {
- responseJson = JSON.parse(myRequest.responseText);
+ const td = new TextDecoder();
+ const responseString = td.decode(myRequest.response);
+ responseJson = JSON.parse(responseString);
} catch (e) {
throw OperationFailedError.fromCode(
TalerErrorCode.WALLET_RECEIVED_MALFORMED_RESPONSE,
@@ -126,7 +133,7 @@ export class BrowserHttpLib implements HttpRequestLibrary {
headers: headerMap,
requestMethod: method,
json: makeJson,
- text: async () => myRequest.responseText,
+ text: makeText,
bytes: async () => myRequest.response,
};
resolve(resp);
@@ -149,7 +156,7 @@ export class BrowserHttpLib implements HttpRequestLibrary {
): Promise<HttpResponse> {
return this.fetch(url, {
method: "POST",
- body,
+ body: JSON.stringify(body),
...opt,
});
}