export async function middleware()

in src/azurechat/middleware.ts [8:35]


export async function middleware(request: NextRequest) {

    const res = NextResponse.next();
    const pathname = request.nextUrl.pathname;

    if (requireAuth.some((path) => pathname.startsWith(path))) {

        const token = await getToken({
            req: request
        });

        //check not logged in
        if (!token) {
            const url = new URL(`/`, request.url);
            return NextResponse.redirect(url);
        }

        if (requireAdmin.some((path) => pathname.startsWith(path))) {
            //check if not authorized
            if (!token.isAdmin) {
                const url = new URL(`/unauthorized`, request.url);
                return NextResponse.rewrite(url);
            }
        }
    }

    return res;
}