diff options
author | 2022-11-08 22:27:22 -0800 | |
---|---|---|
committer | 2022-11-08 22:27:22 -0800 | |
commit | cb41d77d2aa9ae3b4d938167d86679a429bee4fe (patch) | |
tree | 6b57e6bd45c29ec7712372451304eb3b9d548bee | |
parent | 0fd7d3a8c3957f2bd4488841271750146f7a674b (diff) | |
download | bun-cb41d77d2aa9ae3b4d938167d86679a429bee4fe.tar.gz bun-cb41d77d2aa9ae3b4d938167d86679a429bee4fe.tar.zst bun-cb41d77d2aa9ae3b4d938167d86679a429bee4fe.zip |
Fixes #1426
-rw-r--r-- | src/bun.js/webcore/response.zig | 5 | ||||
-rw-r--r-- | test/bun.js/serve.test.ts | 21 |
2 files changed, 23 insertions, 3 deletions
diff --git a/src/bun.js/webcore/response.zig b/src/bun.js/webcore/response.zig index ee62d518b..0bb776d6c 100644 --- a/src/bun.js/webcore/response.zig +++ b/src/bun.js/webcore/response.zig @@ -5187,7 +5187,7 @@ pub const Request = struct { }; } - pub fn writeFormat(this: *const Request, formatter: *JSC.Formatter, writer: anytype, comptime enable_ansi_colors: bool) !void { + pub fn writeFormat(this: *Request, formatter: *JSC.Formatter, writer: anytype, comptime enable_ansi_colors: bool) !void { const Writer = @TypeOf(writer); try formatter.writeIndent(Writer, writer); try writer.print("Request ({}) {{\n", .{bun.fmt.size(this.body.slice().len)}); @@ -5204,7 +5204,9 @@ pub const Request = struct { try formatter.writeIndent(Writer, writer); try writer.writeAll("url: \""); + try this.ensureURL(); try writer.print(comptime Output.prettyFmt("<r><b>{s}<r>", enable_ansi_colors), .{this.url}); + try writer.writeAll("\""); if (this.body == .Blob) { try writer.writeAll("\n"); @@ -5376,6 +5378,7 @@ pub const Request = struct { return 0; } + pub fn ensureURL(this: *Request) !void { if (this.url.len > 0) return; diff --git a/test/bun.js/serve.test.ts b/test/bun.js/serve.test.ts index 64634b841..9f351e93d 100644 --- a/test/bun.js/serve.test.ts +++ b/test/bun.js/serve.test.ts @@ -26,7 +26,24 @@ it("should work for a file", async () => { }, }); const response = await fetch(`http://${server.hostname}:${server.port}`); - console.log(response); + expect(await response.text()).toBe(textToExpect); + server.stop(); +}); + +it("request.url should log successfully", async () => { + const fixture = resolve(import.meta.dir, "./fetch.js.txt"); + const textToExpect = readFileSync(fixture, "utf-8"); + var expected; + const server = serve({ + port: port++, + fetch(req) { + expect(Bun.inspect(req).includes(expected)).toBe(true); + return new Response(file(fixture)); + }, + }); + expected = `http://${server.hostname}:${server.port}/helloooo`; + const response = await fetch(expected); + expect(response.url).toBe(expected); expect(await response.text()).toBe(textToExpect); server.stop(); }); @@ -206,7 +223,7 @@ describe("streaming", () => { var server; try { var pass = false; - var err = { name: '', message: '' }; + var err = { name: "", message: "" }; server = serve({ port: port++, development: false, |