From 7eb575d7f8fe9d739caca153cc7153ce28615baf Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Tue, 5 Apr 2022 00:19:54 -0700 Subject: [PATCH] Update response.zig --- src/javascript/jsc/webcore/response.zig | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig index 82d43ccf72..29120dfe08 100644 --- a/src/javascript/jsc/webcore/response.zig +++ b/src/javascript/jsc/webcore/response.zig @@ -1949,12 +1949,18 @@ pub const Blob = struct { } pub fn onRead(this: *ReadFile, completion: *HTTPClient.NetworkThread.Completion, result: AsyncIO.ReadError!usize) void { - this.read_len = @truncate(SizeType, result catch { - this.errno = AsyncIO.asError(-completion.result); - this.system_error = (JSC.Node.Syscall.Error{ - .errno = @intCast(JSC.Node.Syscall.Error.Int, -completion.result), - .syscall = .read, - }).toSystemError(); + this.read_len = @truncate(SizeType, result catch |err| { + if (@hasField(HTTPClient.NetworkThread.Completion, "result")) { + this.errno = AsyncIO.asError(-completion.result); + this.system_error = (JSC.Node.Syscall.Error{ + .errno = @intCast(JSC.Node.Syscall.Error.Int, -completion.result), + .syscall = .read, + }).toSystemError(); + } else { + this.errno = AsyncIO.asError(-completion.result); + this.errno = err; + this.system_error = .{ .code = ZigString.init(std.mem.span(@errorName(err))), .syscall = ZigString.init("read") }; + } this.read_len = 0; resume this.read_frame; return;