통합 미들웨어
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
export function middleware(request: NextRequest) {
// 1. 인증 체크
const token = request.cookies.get("session");
if (request.nextUrl.pathname.startsWith("/dashboard") && !token) {
return NextResponse.redirect(new URL("/login", request.url));
}
// 2. 로케일 감지
const locale = request.headers.get("accept-language")?.split(",")[0] || "ko";
// 3. A/B 테스트
const variant = request.cookies.get("ab-variant")?.value
|| (Math.random() > 0.5 ? "A" : "B");
const response = NextResponse.next();
response.cookies.set("ab-variant", variant);
return response;
}
댓글 0