aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/webcore/response.zig5
-rw-r--r--test/bun.js/serve.test.ts21
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,