Fast, minimal, built for systems.
HTTP, WebSockets, PostgreSQL, Templates — batteries included.
const std = @import("std"); const spider = @import("spider"); pub fn main(init: std.process.Init) !void { const server = try spider.Spider.init( init.gpa, init.io, "127.0.0.1", 8080 ); defer server.deinit(); try server.get("/", pingHandler).listen(); } fn pingHandler(alc: std.mem.Allocator, _: *spider.Request) !spider.Response { return spider.Response.json(alc, .{ .msg = "pong" }); }
Click any card to see docs and examples
Router
Trie-based router with dynamic params /users/:id
Logger
Structured JSON logging
Pooling
Connection & buffer pooling
Static Files
Built-in static file serving
Graceful Shutdown
Handles SIGINT / SIGTERM
Group Routes
Route prefixes via .groupGet / .group
Request
Params, JSON binding, form & query
Response
HTML, JSON, redirect, status, headers
Middleware
Chain functions via server.use(fn)
Templates
Blocks, variables, loops, if/else, include
Docker
Official Zig image for fast builds
Testing
zig test . + zig fmt .