Files
2026-01-30 03:04:10 +00:00
..
2026-01-30 03:04:10 +00:00
2026-01-30 03:04:10 +00:00
2026-01-30 03:04:10 +00:00
2026-01-30 03:04:10 +00:00
2026-01-30 03:04:10 +00:00

Cloudflare Snippets Skill Reference

Description

Expert guidance for Cloudflare Snippets ONLY - a lightweight JavaScript-based edge logic platform for modifying HTTP requests and responses. Snippets run as part of the Ruleset Engine and are included at no additional cost on paid plans (Pro, Business, Enterprise).

What Are Snippets?

Snippets are JavaScript functions executed at the edge as part of Cloudflare's Ruleset Engine. Key characteristics:

  • Execution time: 5ms CPU limit per request
  • Size limit: 32KB per snippet
  • Runtime: V8 isolate (subset of Workers APIs)
  • Subrequests: 2-5 fetch calls depending on plan
  • Cost: Included with Pro/Business/Enterprise plans

Snippets vs Workers Decision Matrix

Factor Choose Snippets If... Choose Workers If...
Complexity Simple request/response modifications Complex business logic, routing, middleware
Execution time <5ms sufficient Need >5ms or variable time
Subrequests 2-5 fetch calls sufficient Need >5 subrequests or complex orchestration
Code size <32KB sufficient Need >32KB or npm dependencies
Cost Want zero additional cost Can afford $5/mo + usage
APIs Need basic fetch, headers, URL Need KV, D1, R2, Durable Objects, cron triggers
Deployment Need rule-based triggers Want custom routing logic

Rule of thumb: Use Snippets for modifications, Workers for applications.

Execution Model

  1. Request arrives at Cloudflare edge
  2. Ruleset Engine evaluates snippet rules (filter expressions)
  3. If rule matches, snippet executes within 5ms limit
  4. Modified request/response continues through pipeline
  5. Response returned to client

Snippets execute synchronously in the request path - performance is critical.

Reading Order

  1. configuration.md - Start here: setup, deployment methods (Dashboard/API/Terraform)
  2. api.md - Core APIs: Request, Response, headers, request.cf properties
  3. patterns.md - Real-world examples: geo-routing, A/B tests, security headers
  4. gotchas.md - Troubleshooting: common errors, performance tips, API limitations

In This Reference

Quick Start

// Snippet: Add security headers
export default {
  async fetch(request) {
    const response = await fetch(request);
    const newResponse = new Response(response.body, response);
    newResponse.headers.set("X-Frame-Options", "DENY");
    newResponse.headers.set("X-Content-Type-Options", "nosniff");
    return newResponse;
  }
}

Deploy via Dashboard (Rules → Snippets) or API/Terraform. See configuration.md for details.

See Also