commit 3773a4cdfff26297981094cb5c48e755ac75a77c
parent af08b2d1feb67b88c9554f34b4b44caa548eda7e
Author: Florian Dold <florian@dold.me>
Date: Wed, 6 Jan 2021 18:09:59 +0100
browser fixes
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git 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,
});
}