SERVER / REVERSE PROXY

Forward through a trusted route

return reverse forwards an incoming request to an upstream selected from Dowe Cache. The runtime preserves HTTP behavior while preventing request-controlled upstream URLs.

1 / MENTAL MODEL

Resolve first, forward second

Read the request Host, require its route from Cache, then return a URL field from that exact binding. The compiler rejects body, query, header, or optional cache values as upstream authority.

dowe
import RouteCache from "@/server/config/cache"

handler forwardRequest
  request host source:"header" name:"Host"
  kv route conn:RouteCache.get key:host required:true
  return reverse:route.upstreams strategy:"roundRobin" state:route.state loadingUrl:route.loadingUrl errorUrl:route.errorUrl
Rule
Why it matters

No data

There are no records to display

2 / RUNTIME POOLS

Balance only ready nodes

reverse accepts a Cache-backed array and rotates concurrent requests with roundRobin. Records with enabled:false or a state other than ready never receive traffic.

State
Result

No data

There are no records to display

3 / HTTP CONTRACT

Preserve the request and response

Dowe forwards the method, path, query, body, and safe headers. It removes hop-by-hop headers, sets the upstream Host, and adds the original host as forwarding context.

Area
Behavior

No data

There are no records to display