aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar zhiyuan <32867472+zhiyuang@users.noreply.github.com> 2022-11-06 09:51:02 +0800
committerGravatar GitHub <noreply@github.com> 2022-11-05 18:51:02 -0700
commit9d3f1e0d2632bf8d0f9f53b4291e02ddbd4cb0f4 (patch)
treec97431a3accd55bcc10e7388de77462ed12a24dd /src
parent88ca7fd73854758f9019722d3d491e599af354e8 (diff)
downloadbun-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.zig18
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();