For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
Forward request URLs
Verified Code examples on this page have been automatically tested and verified.Use CEL expressions to construct a full request URL from context variables and forward it upstream as a request header.
Use CEL expressions to construct a full request URL from context variables and forward it upstream as a request header. The example uses request.scheme, request.host, and request.path.
Before you begin
- Set up an agentgateway proxy.
- Install the httpbin sample app.
Forward the request URL upstream
In this example, you concatenate request.scheme, request.host, and request.path to build a full URL and inject it into the x-forwarded-uri request header before forwarding to the upstream service.
Create an AgentgatewayPolicy resource with your transformation rules.
kubectl apply -f- <<EOF apiVersion: agentgateway.dev/v1alpha1 kind: AgentgatewayPolicy metadata: name: transformation namespace: httpbin spec: targetRefs: - group: gateway.networking.k8s.io kind: HTTPRoute name: httpbin traffic: transformation: request: set: - name: x-forwarded-uri value: 'request.scheme + "://" + request.host + request.path' EOFSend a request to the httpbin app. Verify that you get back a 200 HTTP response code and that you see the constructed URL in the
x-forwarded-urirequest header echoed back by httpbin.curl -vi http://$INGRESS_GW_ADDRESS:80/get \ -H "host: www.example.com:80"Example output:
... < HTTP/1.1 200 OK HTTP/1.1 200 OK ... { "args": {}, "headers": { "Accept": [ "*/*" ], "Host": [ "www.example.com" ], "User-Agent": [ "curl/8.7.1" ], "X-Forwarded-Uri": [ "http://www.example.com/get" ] }, "origin": "10.244.0.6:59296", "url": "http://www.example.com/get" }
Cleanup
You can remove the resources that you created in this guide.kubectl delete AgentgatewayPolicy transformation -n httpbin