For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
Transformations
Modify header and body information for requests and responses.
Agentgateway uses transformationTransformationThe process of modifying HTTP requests or responses as they pass through agentgateway. Transformations can change headers, body content, and other request/response attributes. templates that are written in Common Expression Language (CEL)CEL (Common Expression Language)A simple expression language used throughout agentgateway to enable flexible configuration. CEL expressions can access request context, JWT claims, and other variables to make dynamic decisions.. CEL is a fast, portable, and safely executable language that goes beyond declarative configurations. CEL lets you develop more complex expressions in a readable, developer-friendly syntax.
To learn more about how to use CEL, refer to the following resources:
Header transformation
You can add, set, or remove request and response headers with agentgateway’s transformation policies.
' followed by double quotes ". This way, the string is interpreted as a string value. If you provide the value without quotes or with double quotes only, it is interpreted as a CEL expression.# yaml-language-server: $schema=https://agentgateway.dev/schema/config
binds:
- port: 3000
listeners:
- routes:
- backends:
- ai:
name: openai
provider:
openAI:
# Optional; overrides the model in requests
model: gpt-3.5-turbo
policies:
backendAuth:
key: "$OPEN_AI_APIKEY"
cors:
allowOrigins:
- "*"
allowHeaders:
- "*"
transformations:
request:
add:
x-gateway: '"agentgateway"'
response:
add:
x-served-by: '"agentgateway"'
remove:
- server
- x-content-type-optionsBody transformation
You can provide a custom body for a request or response.
' followed by double quotes ". This way, the string is interpreted as a string value. If you provide the value without quotes or with double quotes only, it is interpreted as a CEL expression.transformations:
request:
body:
'"This is a custom request body."'
response:
body:
'"This is a custom response body."'Conditional execution
To run a transformation only when a CEL expression matches, use the conditional field. For example, you can transform internal traffic only and leave external traffic untouched. For details, see Conditional policies.