- Add streaming response support - Fix header encoding for non-ASCII paths - /metrics now exposes route-level histograms↗ https://github.com/hamer1818/tulpar-pkg-wings/releases/download/v1.2.3/wings.tpr
wings
Multi-threaded HTTP server framework for Tulpar with routing, JSON responses, and built-in /healthz + /metrics.
Install
Latest (1.2.3)
tulpar pkg add wings@1.2.3
Make sure your tulpar.toml has
[registry] url = "https://pkg.tulparlang.dev", then run
tulpar pkg install.
Details
wings is the batteries-included HTTP framework that ships with the
Tulpar ecosystem. It targets the same niche as Express (Node.js) or
FastAPI (Python) but compiles AOT through LLVM and pulls one OS thread
per connection out of the box.
Quick example
import "wings";
func handle_root() {
return wings_text("hello from " + toString(thread_id()));
}
get("/", "handle_root");
listen_async(8080);
What you get for free
- Route registration via
get/post/put/delete - JSON request/response helpers (
wings_json,_request["body"]) - HTTP keep-alive
- Multi-threaded request handling (one OS thread per connection)
/healthz,/metrics(Prometheus + JSON),/openapi.jsonendpoints- Structured JSON logging
Versions
- listen_async for non-blocking servers - Built-in /healthz and /openapi.json endpoints↗ https://github.com/hamer1818/tulpar-pkg-wings/releases/download/v1.2.0/wings.tpr