From 1d6e34388d9d792fd184c8b9e0fb11fb9b7e14f9 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sat, 6 Jun 2026 10:35:14 +0200 Subject: api: add example implementations --- src/api/hello-body.zig | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/api/hello-body.zig (limited to 'src/api/hello-body.zig') diff --git a/src/api/hello-body.zig b/src/api/hello-body.zig new file mode 100644 index 0000000..2e5a09e --- /dev/null +++ b/src/api/hello-body.zig @@ -0,0 +1,20 @@ +const http = @import("http"); +const Context = http.handler.Context; +const Response = http.Response; + +const Ctx = Context(.{"hello-body"}); +pub const ctx: Ctx = .{ + .post = post, +}; + +const Body = struct { + value: usize, +}; + +fn post(request: Ctx.Request) Response { + const body = request.json(Body) catch return .bad_request(.void); + + return .ok_or_error(.json(request.arena, .{ + .value = body.value, + })); +} -- cgit v1.2.3-70-g09d2