Skip to content

Commit ef003a2

Browse files
authored
[V3 backport] R2-3182: Remove wrangler Banner from R2 GetObject in Pipe Mode (#10050)
* R2-3182: Remove wrangler Banner from R2 GetObject in Pipe Mode * add local flag * lint
1 parent 6940d39 commit ef003a2

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

.changeset/easy-bikes-cut.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"wrangler": patch
3+
---
4+
5+
remove banner from r2 getobject in pipe mode
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { writeFileSync } from "node:fs";
2+
import { mockConsoleMethods } from "../helpers/mock-console";
3+
import { runInTempDir } from "../helpers/run-in-tmp";
4+
import { runWrangler } from "../helpers/run-wrangler";
5+
6+
vi.unmock("../../wrangler-banner");
7+
const decoder = new TextDecoder();
8+
describe("pipe test", () => {
9+
const consoleSpy = mockConsoleMethods();
10+
const stdSpy = vi
11+
.spyOn(process.stdout, "write")
12+
.mockImplementation(() => true);
13+
runInTempDir();
14+
15+
it("should display banner", async () => {
16+
writeFileSync("wormhole.txt", "passageway");
17+
await runWrangler(
18+
`r2 object put bucket-object-test/wormhole.txt --file ./wormhole.txt --local`
19+
);
20+
await runWrangler("r2 object get bucket-object-test/wormhole.txt --local");
21+
22+
expect(stdSpy).not.toBeCalled();
23+
expect(consoleSpy.out).toMatchInlineSnapshot(`
24+
"
25+
⛅️ wrangler x.x.x
26+
------------------
27+
28+
Creating object \\"wormhole.txt\\" in bucket \\"bucket-object-test\\".
29+
Upload complete.
30+
31+
⛅️ wrangler x.x.x
32+
------------------
33+
34+
Downloading \\"wormhole.txt\\" from \\"bucket-object-test\\".
35+
Download complete."
36+
`);
37+
});
38+
39+
it("should not display banner in pipe mode", async () => {
40+
writeFileSync("wormhole.txt", "passageway");
41+
await runWrangler(
42+
`r2 object put bucket-object-test/wormhole.txt --file ./wormhole.txt --local`
43+
);
44+
await runWrangler(
45+
"r2 object get bucket-object-test/wormhole.txt --pipe --local"
46+
);
47+
48+
expect(
49+
decoder.decode(stdSpy.mock.calls[0][0] as unknown as Uint8Array)
50+
).toMatchInlineSnapshot(`"passageway"`);
51+
});
52+
});

packages/wrangler/src/r2/object.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ export const r2ObjectGetCommand = createCommand({
6868
type: "string",
6969
},
7070
},
71+
behaviour: {
72+
printBanner({ pipe }) {
73+
return !pipe;
74+
},
75+
},
7176
positionalArgs: ["objectPath"],
7277
async handler(objectGetYargs, { config }) {
7378
const { objectPath, pipe, jurisdiction } = objectGetYargs;

0 commit comments

Comments
 (0)