aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-05 00:19:54 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-05 00:19:54 -0700
commit7eb575d7f8fe9d739caca153cc7153ce28615baf (patch)
tree17b8ac5be6513e99cd5dbaaa513e4c908ff43195
parent8e5eda79debc0026ce309b79723d924964cc39ad (diff)
downloadbun-7eb575d7f8fe9d739caca153cc7153ce28615baf.tar.gz
bun-7eb575d7f8fe9d739caca153cc7153ce28615baf.tar.zst
bun-7eb575d7f8fe9d739caca153cc7153ce28615baf.zip
Update response.zig
Diffstat (limited to '')
-rw-r--r--src/javascript/jsc/webcore/response.zig18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig
index 82d43ccf7..29120dfe0 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;