diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bun.js/webcore/response.zig | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/bun.js/webcore/response.zig b/src/bun.js/webcore/response.zig index 32e1e3f9b..db8531253 100644 --- a/src/bun.js/webcore/response.zig +++ b/src/bun.js/webcore/response.zig @@ -801,9 +801,16 @@ pub const Fetch = struct { var disable_timeout = false; var disable_keepalive = false; var verbose = false; - if (first_arg.isString()) { + if (first_arg.as(Request)) |request| { + url = ZigURL.parse(getAllocator(ctx).dupe(u8, request.url) catch unreachable); + method = request.method; + if (request.headers) |head| { + headers = Headers.from(head, bun.default_allocator) catch unreachable; + } + body = request.body.useAsAnyBlob(); + } else if (first_arg.toStringOrNull(globalThis)) |jsstring| { var url_zig_str = ZigString.init(""); - JSValue.fromRef(arguments[0]).toZigString(&url_zig_str, globalThis); + jsstring.toZigString(globalThis, &url_zig_str); var url_str = url_zig_str.slice(); if (url_str.len == 0) { @@ -876,13 +883,6 @@ pub const Fetch = struct { } } } - } else if (first_arg.as(Request)) |request| { - url = ZigURL.parse(getAllocator(ctx).dupe(u8, request.url) catch unreachable); - method = request.method; - if (request.headers) |head| { - headers = Headers.from(head, bun.default_allocator) catch unreachable; - } - body = request.body.useAsAnyBlob(); } else { const fetch_error = fetch_type_error_strings.get(js.JSValueGetType(ctx, arguments[0])); exception.* = ZigString.init(fetch_error).toErrorInstance(globalThis).asObjectRef(); |