web: SSL but bad

This commit is contained in:
2026-03-08 23:37:22 +01:00
parent 1f07cc38ba
commit 6315589fa1
13 changed files with 1175 additions and 804 deletions

View File

@@ -88,7 +88,7 @@ fn handleRequest(
leftover_bytes = 0;
} else {
const read_tail = self.read_tail;
bytes_read = try connection.fd.read(self.read_buffer_ptr[read_tail..max_read_tail]);
bytes_read = try connection.read(self.read_buffer_ptr[read_tail..max_read_tail]);
chunk = self.read_buffer_ptr[read_tail .. read_tail + bytes_read];
self.read_tail += bytes_read;
}
@@ -126,6 +126,8 @@ fn handleRequest(
try response.writer.print("Content-Length: {d}\r\n", .{cause_name.len});
try response.writer.print("\r\n", .{});
try response.writer.print("{s}", .{cause_name});
response.finalize();
},
error.HandlerError => {
const cause = parser.last_handler_error;
@@ -136,6 +138,8 @@ fn handleRequest(
try response.writer.print("Content-Length: {d}\r\n", .{cause_name.len});
try response.writer.print("\r\n", .{});
try response.writer.print("{s}", .{cause_name});
response.finalize();
},
}
return false;
@@ -158,26 +162,3 @@ fn handleRequest(
}
}
}
fn read(self: *Worker, fd: FileDescriptor) ![]const u8 {
const read_tail = self.read_tail;
const max_read_tail = self.read_head + self.read_buffer_size;
std.debug.assert(max_read_tail > read_tail);
const bytes_read = try fd.read(self.read_buffer_ptr[self.read_head .. self.read_head + self.read_buffer_size]);
const bytes = self.read_buffer_ptr[self.read_head .. self.read_head + bytes_read];
std.debug.assert(std.math.isPowerOfTwo(self.read_buffer_size));
self.read_head = (self.read_head + bytes_read) & ~(self.read_buffer_size - 1);
return bytes;
}
fn consumeReadHead(self: *Worker, consumed: usize) void {
const bytes_read = self.read_tail - self.read_head;
std.debug.assert(consumed <= bytes_read);
self.read_head = (self.read_head + consumed) & ~(self.read_buffer_size - 1);
self.read_tail = self.read_head + (bytes_read - consumed);
}