diff options
author | 2021-10-29 23:35:06 -0700 | |
---|---|---|
committer | 2021-10-29 23:35:06 -0700 | |
commit | a6cf6c4069cfe2cc9eaf4ebe89b825b858a9af0f (patch) | |
tree | 28dc8b2ef202938945992a732e8a277d56a72347 | |
parent | 6854d8384242a0be0ddc3a478d59e3ac65d6263d (diff) | |
download | bun-a6cf6c4069cfe2cc9eaf4ebe89b825b858a9af0f.tar.gz bun-a6cf6c4069cfe2cc9eaf4ebe89b825b858a9af0f.tar.zst bun-a6cf6c4069cfe2cc9eaf4ebe89b825b858a9af0f.zip |
[Bun.js] Fix silly oversight with fetch implementation
-rw-r--r-- | src/javascript/jsc/webcore/response.zig | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig index 16f3318b9..8a5a0c1c1 100644 --- a/src/javascript/jsc/webcore/response.zig +++ b/src/javascript/jsc/webcore/response.zig @@ -430,18 +430,21 @@ pub const Fetch = struct { } var url_zig_str = ZigString.init(""); + JSValue.fromRef(arguments[0]).toZigString(&url_zig_str, VirtualMachine.vm.global); var url_str = url_zig_str.slice(); + if (url_str.len == 0) { const fetch_error = fetch_error_blank_url; return JSPromise.rejectedPromiseValue(VirtualMachine.vm.global, ZigString.init(fetch_error).toErrorInstance(VirtualMachine.vm.global)).asRef(); } - var dealloc_url_str = false; if (url_str[0] == '/') { url_str = strings.append(getAllocator(ctx), VirtualMachine.vm.bundler.options.origin.origin, url_str) catch unreachable; - dealloc_url_str = true; + } else { + url_str = getAllocator(ctx).dupe(u8, url_str) catch unreachable; } - defer if (dealloc_url_str) getAllocator(ctx).free(url_str); + + defer getAllocator(ctx).free(url_str); var http_client = HTTPClient.init(getAllocator(ctx), .GET, ZigURL.parse(url_str), .{}, ""); |