diff options
| author | Patrick | 2025-03-16 17:26:20 +0100 |
|---|---|---|
| committer | Patrick | 2025-03-16 17:26:20 +0100 |
| commit | 9a88fec57f4fa87cae6769ee0f992fbf00b8becd (patch) | |
| tree | 28a771293de9e8401c2ef11ad9bada395a826b8d /src/http.zig | |
| parent | 39fa56e5ad7e04a5632082af516f4a2493ed1948 (diff) | |
| download | zighttp-9a88fec57f4fa87cae6769ee0f992fbf00b8becd.tar.gz zighttp-9a88fec57f4fa87cae6769ee0f992fbf00b8becd.zip | |
make reading from socket a bit more reliable
Diffstat (limited to 'src/http.zig')
| -rw-r--r-- | src/http.zig | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/http.zig b/src/http.zig index bc8f3b1..c14f16d 100644 --- a/src/http.zig +++ b/src/http.zig @@ -67,7 +67,13 @@ pub const Server = struct { var closed = false; var req = Request{ .fd = ready_socket }; - const read = posix.read(ready_socket, buf) catch 0; + var read: usize = 0; + while (true) { + const newly_read = posix.read(ready_socket, buf[read..]) catch 0; + read += newly_read; + if (newly_read == 0) + break; + } if (read == 0) { closed = true; } else { |
