aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/javascript/jsc/webcore/response.zig9
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), .{}, "");