import { NextResponse, type NextRequest } from 'next/server' import { createClient } from '@/utils/supabase/middleware' export async function middleware(request: NextRequest) { try { // This `try/catch` block is only here for the interactive tutorial. // Feel free to remove once you have Supabase connected. const { supabase, response } = createClient(request) // Refresh session if expired - required for Server Components // https://supabase.com/docs/guides/auth/auth-helpers/nextjs#managing-session-with-middleware await supabase.auth.getSession() return response } catch (e) { // If you are here, a Supabase client could not be created! // This is likely because you have not set up environment variables. // Check out http://localhost:3000 for Next Steps. return NextResponse.next({ request: { headers: request.headers, }, }) } } export const config = { matcher: [ /* * Match all request paths except for the ones starting with: * - _next/static (static files) * - _next/image (image optimization files) * - favicon.ico (favicon file) * Feel free to modify this pattern to include more paths. */ '/((?!_next/static|_next/image|favicon.png).*)', ], }