githubEdit

Responses: Powered-By Header Behavior

Know when the gateway adds its response header so you can reason about downstream caching and observability.

Know when the gateway adds its response header so you can reason about downstream caching and observability.

Last reviewed: 2026-03-06

When to use this

Use this approach when you want a config-first Cloudflare Worker gateway behavior that is already implemented in the repository and covered by tests or canonical examples.

What this does not do

  • It does not add unsupported product features such as rate limiting, caching, API keys, analytics, or OpenAPI generation.

  • It does not replace upstream application logic that still belongs in your services.

  • It does not remove the need to validate environment variables, bindings, and route intent before deploy.

Repo-grounded example

{
  "$schema": "./api-config.schema.json",
  "title": "Minimal Gateway",
  "cors": {
    "allow_origins": ["https://app.example.com"],
    "allow_methods": ["GET", "POST", "OPTIONS"],
    "allow_headers": ["Content-Type", "Authorization"],
    "expose_headers": ["X-Request-Id"],
    "allow_credentials": true,
    "max_age": 300
  },
  "paths": [
    {
      "method": "GET",
      "path": "/health",
      "response": { "status": "ok" }
    }
  ]
}

This example is grounded in the current implementation shape: JSON config, path-based routing, optional auth, request mapping, and Worker-native integrations.

Troubleshooting

  • Confirm the route path and HTTP method match what the worker receives.

  • Confirm the config source is the one you expect: local file, KV, or SAG_API_CONFIG_JSON.

  • Confirm required bindings and environment variables are present before debugging downstream logic.

  • Run the existing tests in the main gateway repo when a config change appears correct but runtime behavior disagrees.

Last updated