aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-11-06 14:09:47 -0300
committerSebastian <sebasjm@gmail.com>2023-11-06 14:09:47 -0300
commit78b9f3e4d94af915c7f4480519e937fa5dacf620 (patch)
tree6c1be71d11c7793c2f9c16ef3521bf73ba79765b /packages
parentcd5cb0fc241b0cca28b11294ed16dd4630286544 (diff)
downloadwallet-core-78b9f3e4d94af915c7f4480519e937fa5dacf620.tar.xz
send api request param as file
Diffstat (limited to 'packages')
-rw-r--r--packages/taler-util/src/compat.d.ts1
-rw-r--r--packages/taler-util/src/compat.node.ts5
-rw-r--r--packages/taler-util/src/compat.qtart.ts6
-rw-r--r--packages/taler-wallet-cli/src/index.ts4
4 files changed, 14 insertions, 2 deletions
diff --git a/packages/taler-util/src/compat.d.ts b/packages/taler-util/src/compat.d.ts
index 078f6147b..d7ccf19f0 100644
--- a/packages/taler-util/src/compat.d.ts
+++ b/packages/taler-util/src/compat.d.ts
@@ -20,3 +20,4 @@ export function readlinePrompt(prompt: string): Promise<string>;
export function pathBasename(s: string): string;
export function setUnhandledRejectionHandler(h: (e: any) => void): void;
export function getenv(name: string): string | undefined;
+export function readFile(fileName: string): string;
diff --git a/packages/taler-util/src/compat.node.ts b/packages/taler-util/src/compat.node.ts
index fb2db2995..2f78c9346 100644
--- a/packages/taler-util/src/compat.node.ts
+++ b/packages/taler-util/src/compat.node.ts
@@ -18,6 +18,7 @@ import process from "node:process";
import readline from "node:readline";
import path from "node:path";
import os from "node:os";
+import fs from "node:fs";
export function processExit(status: number): never {
process.exit(status);
@@ -57,3 +58,7 @@ export function setUnhandledRejectionHandler(h: (e: any) => void): void {
export function getenv(name: string): string | undefined {
return process.env[name];
}
+
+export function readFile(fileName: string): string {
+ return fs.readFileSync(fileName, "utf-8");
+}
diff --git a/packages/taler-util/src/compat.qtart.ts b/packages/taler-util/src/compat.qtart.ts
index f8b336b11..7d11cf375 100644
--- a/packages/taler-util/src/compat.qtart.ts
+++ b/packages/taler-util/src/compat.qtart.ts
@@ -29,7 +29,7 @@ export function processArgv(): string[] {
}
export function readlinePrompt(prompt: string): Promise<string> {
- throw new Error("not supported");
+ throw new Error("realinePrompt not yet supported in qtart");
}
export function pathBasename(p: string): string {
@@ -51,3 +51,7 @@ export function setUnhandledRejectionHandler(h: (e: any) => void): void {
export function getenv(name: string): string | undefined {
return std.getenv(name);
}
+
+export function readFile(fileName: string): string {
+ throw new Error("readFile not yet supported in qtart");
+}
diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts
index ee6b93381..dddac071b 100644
--- a/packages/taler-wallet-cli/src/index.ts
+++ b/packages/taler-wallet-cli/src/index.ts
@@ -48,6 +48,7 @@ import {
getenv,
pathHomedir,
processExit,
+ readFile,
readlinePrompt,
setUnhandledRejectionHandler,
} from "@gnu-taler/taler-util/compat";
@@ -374,8 +375,9 @@ walletCli
await withWallet(args, async (wallet) => {
let requestJson;
logger.info(`handling 'api' request (${args.api.operation})`);
+ const jsonContent = args.api.request.startsWith("@") ? readFile(args.api.request.substring(1)) : args.api.request
try {
- requestJson = JSON.parse(args.api.request);
+ requestJson = JSON.parse(jsonContent);
} catch (e) {
console.error("Invalid JSON");
processExit(1);