]> gitweb.ps.run Git - chirp/blobdiff - src/main.zig
make handle_request throw error for debugging
[chirp] / src / main.zig
index 2f7fd4cd7ebbe699dd1b1a89b982d591e1c83dfb..7aa34bb65751cae814053e5265628d5a5647da88 100644 (file)
@@ -97,8 +97,8 @@ fn parse_enum(comptime E: type, buf: []const u8, base: u8) !E {
 }
 
 // https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding
-fn reencode(text: []const u8) !PostText {
-    var result = try PostText.init(0);
+fn reencode(comptime T: type, text: []const u8) !T {
+    var result = try T.init(0);
 
     const len = @min(text.len, 1024); // TODO: PostText length
 
@@ -286,7 +286,7 @@ const Chirp = struct {
             const posts = try Db.posts(txn);
             post_id = try db.Prng.gen(posts.dbi, PostId);
 
-            const decoded_text = try reencode(text);
+            const decoded_text = try reencode(PostText, text);
             try posts.put(post_id, Post{
                 .id = post_id,
                 .parent_id = parent_id,
@@ -463,16 +463,12 @@ pub fn Paginate(comptime T: type) type {
                 it.idx = try parse_enum(T.Base.Key, starting_at_str, 16);
             }
 
-            if (it.idx == null) {
-                return error.InvalidIterator;
-            }
-
             return .{
                 .res = res,
                 .view = view,
                 .per_page = per_page,
                 .it = it,
-                .starting_idx = it.idx.?,
+                .starting_idx = it.idx,
             };
         }
         pub fn next(self: *Self) IterateResult {
@@ -1657,9 +1653,10 @@ pub fn main() !void {
         server.wait();
         while (true) {
             const req = (server.next_request(&req_buffer) catch break) orelse break;
-            handle_request(env, req) catch {
-                try handle_error(env, req);
-            };
+            // handle_request(env, req) catch {
+            //     try handle_error(env, req);
+            // };
+            try handle_request(env, req);
         }
     }
     // const ThreadCount = 1;