fix(copy-as): emit shell-safe arguments in the curl and gRPCurl exporters (#593)

This commit is contained in:
Ngo Quoc Viet
2026-08-20 08:41:47 -07:00
committed by GitHub
parent cb295b7102
commit 388dd8815f
4 changed files with 67 additions and 5 deletions
@@ -175,4 +175,21 @@ describe("exporter-curl", () => {
].join(" \\\n "),
);
});
test("Quotes an apostrophe so the command still parses", async () => {
// POSIX single quotes take no escapes: `\'` ends the string one
// character early and leaves the rest of the command dangling.
const command = await convert(
{
url: "https://yaak.app",
service: "Service",
method: "Method",
message: `{"note":"don't stop"}`,
metadata: [{ name: "x-note", value: "it's fine" }],
},
[],
);
expect(command).toContain(`'{"note":"don'\\''t stop"}'`);
expect(command).toContain(`'x-note: it'\\''s fine'`);
});
});