Middleware no Next.js
Função que roda antes do request chegar na rota. Auth, redirects, headers, A/B testing.
Middleware (middleware.ts no root) executa em Edge runtime ANTES do Next.js processar a rota. Pode redirecionar, reescrever URL, modificar headers, adicionar cookies. Roda em TODA request (configurável via matcher).
Lógica que precisa rodar antes da rota: verificar autenticação, redirecionar usuários não logados, adicionar headers de segurança, fazer A/B testing.
middleware.ts intercepta requests no Edge (rápido, global). Retorna NextResponse para redirect/rewrite/next. Configure matcher para limitar quais rotas afeta.
Middleware roda em CADA request — mantenha rápido. Não faça queries pesadas, use Edge runtime. Para auth, valide JWT (rápido), não consulte DB.