Vercel Edge Functions & Middleware — DevOps

Edge Functions di Vercel Vercel Edge Functions menjalankan kode di edge network menggunakan V8 runtime (sama seperti Cloudflare Workers). Terintegrasi sempurna

Edge Functions di Vercel

Vercel Edge Functions menjalankan kode di edge network menggunakan V8 runtime (sama seperti Cloudflare Workers). Terintegrasi sempurna dengan Next.js.

Edge Middleware

// middleware.ts (Next.js)
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";

export function middleware(request: NextRequest) {
  // Redirect berdasarkan geolocation
  const country = request.geo?.country || "US";

  if (country === "ID") {
    return NextResponse.rewrite(new URL("/id", request.url));
  }

  // Auth check
  const token = request.cookies.get("session");
  if (!token && request.nextUrl.pathname.startsWith("/dashboard")) {
    return NextResponse.redirect(new URL("/login", request.url));
  }

  return NextResponse.next();
}

export const config = {
  matcher: ["/((?!_next|static|favicon.ico).*)"],
};

Edge API Routes

// app/api/hello/route.ts
export const runtime = "edge"; // Deploy ke edge, bukan serverless

export async function GET(request: Request) {
  return Response.json({
    message: "Hello from edge!",
    region: process.env.VERCEL_REGION,
  });
}

Kapan Edge vs Serverless?