Edge Function Triggers & Request Lifecycle
Understand where edge functions hook into the request lifecycle and the trigger points that let you modify requests and responses at the edge.
Edge Function Triggers & Request Lifecycle is a free Caching Strategies: Redis + CDN + Edge Computing lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Caching Strategies: Redis + CDN + Edge Computing learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
The Edge Request Lifecycle
When a request reaches a CDN edge, it passes through distinct phases. Edge functions can attach to specific phases to inspect or transform the request and response.
- Viewer request: as the request arrives
- Origin request: before fetching from origin
- Origin response: after origin replies
- Viewer response: before returning to the user
Viewer Request Trigger
The viewer request trigger runs on every incoming request, even cache hits. Use it for lightweight logic like redirects, header normalization, or A/B routing.
Origin Request Trigger
The origin request trigger runs only on cache misses, just before the edge contacts the origin. It is ideal for rewriting the origin path or choosing a different backend.
function handler(event) {
var req = event.request;
req.uri = "/v2" + req.uri;
return req;
}Origin Response Trigger
The origin response trigger fires after the origin replies but before the response is cached. Use it to adjust cache headers or inject security headers.
Viewer Response Trigger
The viewer response trigger runs before the response goes to the user, on both hits and misses. Use it for final header tweaks like adding CORS or HSTS.
function handler(event) {
var res = event.response;
res.headers["x-edge"] = { value: "true" };
return res;
}Triggers and the Cache
Knowing which triggers run on cache hits matters for performance and cost. Viewer triggers run every time; origin triggers run only on misses. Put heavy logic on origin triggers to avoid paying for it on every hit.
Short-Circuiting a Request
An edge function can return a response directly instead of forwarding it, short-circuiting the lifecycle. This is great for maintenance pages, auth gates, or geo-blocks.
function handler(event) {
var country = event.request.headers["cloudfront-viewer-country"];
if (country && country.value === "XX") {
return { statusCode: 403, body: "Blocked" };
}
return event.request;
}Modifying Requests vs Responses
Request triggers can change the URI, headers, and query string before routing. Response triggers can change status codes and headers. Choose the trigger that matches what you need to mutate.
Performance Constraints
Edge functions run inside tight limits on CPU time and memory because they execute on every request at scale. Keep them small, avoid network calls in viewer triggers, and prefer synchronous logic.
- Tiny scripts equal predictable latency
- Heavy logic belongs on origin triggers or full edge runtimes
Choosing the Right Trigger
A quick decision guide:
- Redirect or auth gate: viewer request
- Rewrite origin path: origin request
- Adjust cache TTL: origin response
- Add response headers for everyone: viewer response
Debugging Lifecycle Triggers
Test each trigger in isolation. Log the phase and inspect headers added by the CDN (like the viewer country) to confirm your function runs where you expect.
Quick Check
Confirm your understanding of edge trigger points.
Recap
You learned the four edge function trigger points across the request lifecycle: viewer request, origin request, origin response, and viewer response. You saw which run on cache hits versus misses, how to short-circuit a request, and how to pick the right trigger while respecting edge runtime limits.
Frequently asked questions
Is the “Edge Function Triggers & Request Lifecycle” lesson free?
Yes — the full text of “Edge Function Triggers & Request Lifecycle” is free to read here on the web, and the Caching Strategies: Redis + CDN + Edge Computing course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Caching Strategies: Redis + CDN + Edge Computing course, upgrade to CoddyKit PRO.
What will I learn in “Edge Function Triggers & Request Lifecycle”?
Understand where edge functions hook into the request lifecycle and the trigger points that let you modify requests and responses at the edge. You practise Caching Strategies: Redis + CDN + Edge Computing with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Caching Strategies: Redis + CDN + Edge Computing?
No prior experience is required. Caching Strategies: Redis + CDN + Edge Computing on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Edge Function Triggers & Request Lifecycle” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Caching Strategies: Redis + CDN + Edge Computing lesson?
Yes. Every Caching Strategies: Redis + CDN + Edge Computing lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Edge Caching for Dynamic Content
- Serverless Functions at the Edge
- Deploying Edge Functions
- Edge Function Triggers & Request Lifecycle