class
Analyzer::Zig::Httpz
- Analyzer::Zig::Httpz
- Analyzer
- Reference
- Object
Overview
http.zig (httpz) registers routes on a router object:
router.get("/api/user/:id", getUser, .{}); router.post("/api/users", createUser, .{}); router.all("/*", notFound, .{}); router.method("TEA", "/", teaList, .{});
Prefixed groups compose: var admin = router.group("/admin", .{});
followed by admin.get("/users", …) yields /admin/users. The handler
is the second argument; its function body supplies the callees.
Defined in:
analyzer/analyzers/zig/httpz.crConstant Summary
-
GROUP_RE =
/(?:var|const)\s+(\w+)\s*=\s*(\w+)\s*\.\s*group\s*\(\s*"([^"]*)"/ -
METHOD_RE =
/(\w+)\s*\.\s*method\s*\(\s*"([^"]*)"\s*,\s*"(\/[^"]*)"\s*,\s*(@"[^"]*"|[A-Za-z_][\w.]*)/ -
ROUTE_RE =
/(\w+)\s*\.\s*(get|post|put|delete|head|patch|trace|options|connect|all)\s*\(\s*"(\/[^"]*)"\s*,\s*(@"[^"]*"|[A-Za-z_][\w.]*)/ -
The handler is the 2nd argument. It can be a plain/qualified identifier (
getUser,Users.list) or a@"…"quoted identifier — Zig spells a reserved word used as a name that way, sorouter.get("/error", @"error")is idiomatic. The@"…"alternative keeps that form from being dropped. -
VERB_METHOD =
{"get" => "GET", "post" => "POST", "put" => "PUT", "delete" => "DELETE", "head" => "HEAD", "patch" => "PATCH", "trace" => "TRACE", "options" => "OPTIONS", "connect" => "CONNECT", "all" => "GET"} -
VERBS =
["get", "post", "put", "delete", "head", "patch", "trace", "options", "connect", "all"] of ::String