Spaces:
Sleeping
Sleeping
| import { NextResponse, type NextRequest } from "next/server"; | |
| import { getSessionCookie } from "better-auth/cookies"; | |
| export async function proxy(request: NextRequest) { | |
| const { pathname } = request.nextUrl; | |
| /* | |
| * Playwright starts the dev server and requires a 200 status to | |
| * begin the tests, so this ensures that the tests can start | |
| */ | |
| if (pathname.startsWith("/ping")) { | |
| return new Response("pong", { status: 200 }); | |
| } | |
| if (pathname === "/admin") { | |
| return NextResponse.redirect(new URL("/admin/users", request.url)); | |
| } | |
| const sessionCookie = getSessionCookie(request); | |
| if (!sessionCookie) { | |
| return NextResponse.redirect(new URL("/sign-in", request.url)); | |
| } | |
| return NextResponse.next(); | |
| } | |
| export const config = { | |
| matcher: [ | |
| "/((?!_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt|api/auth|export|sign-in|sign-up).*)", | |
| ], | |
| }; | |