diff options
-rw-r--r-- | src/bun.js/api/server.zig | 12 | ||||
-rw-r--r-- | test/js/bun/http/serve.test.ts | 1 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig index 9af44deba..094f5e385 100644 --- a/src/bun.js/api/server.zig +++ b/src/bun.js/api/server.zig @@ -4659,8 +4659,8 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type { // TODO: set Host header // TODO: set User-Agent header if (first_arg.isString()) { - var url_zig_str = ZigString.init(""); - JSValue.fromRef(arguments[0]).toZigString(&url_zig_str, globalThis); + const url_zig_str = JSValue.c(arguments[0]).toSlice(globalThis, bun.default_allocator); + defer url_zig_str.deinit(); var temp_url_str = url_zig_str.slice(); if (temp_url_str.len == 0) { @@ -4706,12 +4706,18 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type { existing_request = Request{ .url = url.href, + .url_was_allocated = true, .headers = headers, .body = JSC.WebCore.InitRequestBodyValue(body) catch unreachable, .method = method, }; } else if (first_arg.as(Request)) |request_| { - existing_request = request_.*; + request_.cloneInto( + &existing_request, + bun.default_allocator, + globalThis, + false, + ); } else { const fetch_error = WebCore.Fetch.fetch_type_error_strings.get(js.JSValueGetType(ctx, arguments[0])); return JSPromise.rejectedPromiseValue(globalThis, ZigString.init(fetch_error).toErrorInstance(globalThis)).asRef(); diff --git a/test/js/bun/http/serve.test.ts b/test/js/bun/http/serve.test.ts index 30ad96d1e..73de6a381 100644 --- a/test/js/bun/http/serve.test.ts +++ b/test/js/bun/http/serve.test.ts @@ -9,7 +9,6 @@ type Handler = (req: Request) => Response; afterEach(() => gc(true)); const count = 200; -let port = 10000; let server: Server | undefined; async function runTest({ port, ...serverOptions }: Serve<any>, test: (server: Server) => Promise<void> | void) { |