summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-02-28 11:49:46 +0100
committerFlorian Dold <florian@dold.me>2024-02-28 11:49:46 +0100
commit2445b1879a29ac6bc453e1dee08dab452685b579 (patch)
treeedbdf38bd762463d87932e5baaae07f67203a775
parent7c5baabe16266a309c16c3afdec277fdb4f0cb7b (diff)
downloadwallet-core-2445b1879a29ac6bc453e1dee08dab452685b579.tar.gz
wallet-core-2445b1879a29ac6bc453e1dee08dab452685b579.tar.bz2
wallet-core-2445b1879a29ac6bc453e1dee08dab452685b579.zip
embedded: testing call to directly eval JS
Useful to test the native HTTP implementation
-rw-r--r--packages/taler-wallet-embedded/src/wallet-qjs.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts b/packages/taler-wallet-embedded/src/wallet-qjs.ts
index 029cf2120..3023ce79f 100644
--- a/packages/taler-wallet-embedded/src/wallet-qjs.ts
+++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts
@@ -233,7 +233,19 @@ export function installNativeWalletListener(): void {
try {
if (msg.operation.startsWith("anastasis")) {
respMsg = await handleAnastasisRequest(operation, id, msg.args ?? {});
- } else {
+ } else if (msg.operation === "testing-dangerously-eval") {
+ // Eval code, used only for testing. No client may rely on this.
+ logger.info(`evaluating ${msg.args.jscode}`);
+ const f = new Function(msg.args.jscode);
+ f();
+ respMsg = {
+ type: "response",
+ result: {},
+ operation: "testing-dangerously-eval",
+ id: msg.id,
+ };
+ }
+ {
respMsg = await handler.handleMessage(operation, id, msg.args ?? {});
}
} catch (e) {