// the find
dunglas/vulcain
🔨 Fast and idiomatic client-driven REST APIs.
Vulcain is a reverse-proxy gateway that lets REST API clients declare which related resources they want pre-fetched, using custom HTTP headers (`Preload`, `Fields`) and HTTP/2 server push or 103 Early Hints to eliminate the n+1 request problem. You drop it in front of any existing API — hypermedia or not — and clients get parallel resource delivery without GraphQL's query language overhead. It's aimed at teams building or operating REST APIs who want GraphQL-like efficiency without abandoning HTTP caching and standard tooling.
The protocol-level design is sound: by riding HTTP/2 multiplexing and 103 Early Hints rather than inventing a new query layer, you keep CDN caching, standard auth middleware, and curl debugging intact. The Caddy module integration means deployment is a Caddyfile edit, not a new service. OpenAPI-based relation mapping is a practical escape hatch for APIs that can't embed hypermedia links. The IETF Internet Draft exists and is maintained in-repo, which signals this isn't vaporware.
HTTP/2 server push was deprecated and removed from Chrome in 2022, and the 103 Early Hints path still has spotty browser support — the protocol's killer feature is partly shipping on a foundation the web is walking away from. Adoption is extremely thin: 103 forks on 3,500 stars suggests people star it conceptually but don't ship it. The AGPL license will block most commercial adopters who don't read the fine print about the gateway-vs-upstream distinction. Non-JSON formats (XPath, CSS selectors) are in the spec but unimplemented in the gateway — a real gap if your API isn't JSON.