diff options
Diffstat (limited to 'src/server.zig')
| -rw-r--r-- | src/server.zig | 20 |
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 { |