aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-18 20:05:38 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-18 20:05:38 -0700
commit2e920aaac38808865cd78e974ecc3be9fd1fd9a7 (patch)
tree27ec8b3f05f8da4898b0fd13da165161d8570af3
parent216300f2b53e0ede4ffed4c250a11f0484994284 (diff)
downloadbun-2e920aaac38808865cd78e974ecc3be9fd1fd9a7.tar.gz
bun-2e920aaac38808865cd78e974ecc3be9fd1fd9a7.tar.zst
bun-2e920aaac38808865cd78e974ecc3be9fd1fd9a7.zip
[bun.js] Implement `Response.error`
-rw-r--r--src/javascript/jsc/webcore/response.zig28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig
index ad4860fb9..41f08cce4 100644
--- a/src/javascript/jsc/webcore/response.zig
+++ b/src/javascript/jsc/webcore/response.zig
@@ -48,6 +48,7 @@ pub const Response = struct {
.@"constructor" = constructor,
.@"json" = .{ .rfn = constructJSON },
.@"redirect" = .{ .rfn = constructRedirect },
+ .@"error" = .{ .rfn = constructError },
},
.{},
);
@@ -449,6 +450,33 @@ pub const Response = struct {
return Response.Class.make(ctx, ptr);
}
+ pub fn constructError(
+ _: void,
+ ctx: js.JSContextRef,
+ _: js.JSObjectRef,
+ _: js.JSObjectRef,
+ _: []const js.JSValueRef,
+ _: js.ExceptionRef,
+ ) js.JSObjectRef {
+ var response = getAllocator(ctx).create(Response) catch unreachable;
+ response.* = Response{
+ .body = Body{
+ .init = Body.Init{
+ .headers = null,
+ .status_code = 0,
+ },
+ .value = Body.Value.empty,
+ },
+ .allocator = getAllocator(ctx),
+ .url = "",
+ };
+
+ return Response.Class.make(
+ ctx,
+ response,
+ );
+ }
+
pub fn constructor(
ctx: js.JSContextRef,
_: js.JSObjectRef,