Good Use Cases
- Personalization: Geo-based content, A/B testing.
- Redirects: Fast redirects based on cookies or headers.
- Simple APIs: Lightweight endpoints that don't need node APIs.
- Proxy: By default, proxy runs on the Node.js runtime in Next.js 16, with an option to use the Edge runtime.
Example: Geo-Based Content
export const runtime = 'edge';
export async function GET(request: Request) {
const country = request.headers.get('x-vercel-ip-country') || 'US';
const content = {
US: 'Hello, America!',
UK: 'Hello, United Kingdom!',
DE: 'Hallo, Deutschland!',
};
return Response.json({
message: content[country] || 'Hello, World!',
country,
});
}
When NOT to Use Edge
- Database connections (use serverless functions instead).
- Heavy computation.
- File system access.
- Native Node modules.