Rules are code, not config
Rift is a programmable single-binary reverse proxy where routing rules are a compiled DSL, not YAML. One static Rust binary on hyper: match host, path, and headers, forward over pooled connections, and stream the response back.
write routes, send a request, see which rule wins, first match wins
The same matching logic Rift compiles, running here on your rules.
The DSL is parsed once into matchers at startup, not re-interpreted from YAML per request. A bad rule fails at check time with the offending line, not in production.
Upstream connections are reused across requests instead of dialed fresh, on top of hyper's HTTP/1.1 and HTTP/2 client.
Response bodies stream straight back to the caller, so a large payload never sits buffered in the proxy.
No daemon to install, no plugin ecosystem, no reload dance. Point it at a rules file and serve.