import type { NextRequest } from 'next/server'; import { createServerClient } from '@supabase/ssr'; import createIntlMiddleware from 'next-intl/middleware'; import { routing } from '@/libs/i18nNavigation'; const handleI18n = createIntlMiddleware(routing); export default async function proxy(request: NextRequest) { const response = handleI18n(request); const supabase = createServerClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY!, { cookies: { getAll: () => request.cookies.getAll(), setAll(cookiesToSet) { cookiesToSet.forEach(({ name, value }) => request.cookies.set(name, value)); cookiesToSet.forEach(({ name, value, options }) => response.cookies.set(name, value, options)); }, }, }, ); await supabase.auth.getClaims(); return response; } export const config = { matcher: ['/((?!api|_next/static|_next/image|favicon.ico|opengraph-image|twitter-image|.*\\..*).*)'] };