aboutsummaryrefslogtreecommitdiff
path: root/src/server.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.zig')
-rw-r--r--src/server.zig20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/server.zig b/src/server.zig
index 184af92..5a9be74 100644
--- a/src/server.zig
+++ b/src/server.zig
@@ -52,16 +52,18 @@ fn handle_connection(
var writer = connection.stream.writer(&write_buf);
var http_server = std.http.Server.init(reader.interface(), &writer.interface);
- var request = http_server.receiveHead() catch return;
- log.info("{s} {s}", .{
- std.enums.tagName(std.http.Method, request.head.method) orelse "<unknown>",
- request.head.target,
- });
+ while (true) {
+ var request = http_server.receiveHead() catch return;
+ log.info("{s} {s}", .{
+ std.enums.tagName(std.http.Method, request.head.method) orelse "<unknown>",
+ request.head.target,
+ });
- const handler_info = routes.get(request.head.target);
- handler_info.handle(&request, &self.storage, allocator) catch |err| {
- std.log.err("{}", .{err});
- };
+ const handler_info = routes.get(request.head.target);
+ handler_info.handle(&request, &self.storage, allocator) catch |err| {
+ std.log.err("{}", .{err});
+ };
+ }
}
pub fn deinit(self: *Self) void {