From 2e920aaac38808865cd78e974ecc3be9fd1fd9a7 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Fri, 18 Mar 2022 20:05:38 -0700 Subject: [PATCH] [bun.js] Implement `Response.error` --- src/javascript/jsc/webcore/response.zig | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig index ad4860fb99..41f08cce47 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,