diff options
author | 2022-03-18 20:05:38 -0700 | |
---|---|---|
committer | 2022-03-18 20:05:38 -0700 | |
commit | 2e920aaac38808865cd78e974ecc3be9fd1fd9a7 (patch) | |
tree | 27ec8b3f05f8da4898b0fd13da165161d8570af3 | |
parent | 216300f2b53e0ede4ffed4c250a11f0484994284 (diff) | |
download | bun-2e920aaac38808865cd78e974ecc3be9fd1fd9a7.tar.gz bun-2e920aaac38808865cd78e974ecc3be9fd1fd9a7.tar.zst bun-2e920aaac38808865cd78e974ecc3be9fd1fd9a7.zip |
[bun.js] Implement `Response.error`
-rw-r--r-- | src/javascript/jsc/webcore/response.zig | 28 |
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, |