diff options
author | 2022-11-06 09:51:02 +0800 | |
---|---|---|
committer | 2022-11-05 18:51:02 -0700 | |
commit | 9d3f1e0d2632bf8d0f9f53b4291e02ddbd4cb0f4 (patch) | |
tree | c97431a3accd55bcc10e7388de77462ed12a24dd /src | |
parent | 88ca7fd73854758f9019722d3d491e599af354e8 (diff) | |
download | bun-9d3f1e0d2632bf8d0f9f53b4291e02ddbd4cb0f4.tar.gz bun-9d3f1e0d2632bf8d0f9f53b4291e02ddbd4cb0f4.tar.zst bun-9d3f1e0d2632bf8d0f9f53b4291e02ddbd4cb0f4.zip |
Fix fetch api to accept stringifier object (#1460)
* fetch accept stringifier object
* test: update fetch params tests
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(); |