Files
dado.cloud 02de2d5528 Modelo do encurtador em Next.js
Gerado a partir de deploy-templates/nextjs (dado.cloud ab2f4c0).
2026-10-21 14:40:16 +00:00

21 lines
922 B
TypeScript

import { buscarLink, FORMATO_CODIGO } from '@/lib/links';
import { CSP_AVISO, paginaAviso, respostaNaoEncontrada } from '@/lib/paginas';
// GET /<código> não redireciona direto: mostra antes uma página de aviso com o
// destino. Sem ela, qualquer pessoa usaria o seu endereço para disfarçar um
// link de golpe. A página não conta clique — quem só olha não foi ao destino.
export async function GET(_request: Request, { params }: { params: Promise<{ codigo: string }> }) {
const { codigo } = await params;
const link = FORMATO_CODIGO.test(codigo) ? buscarLink(codigo) : null;
if (!link) return respostaNaoEncontrada();
return new Response(paginaAviso(link), {
headers: {
'Content-Type': 'text/html; charset=utf-8',
'Cache-Control': 'no-store',
'Referrer-Policy': 'no-referrer',
'X-Robots-Tag': 'noindex, nofollow',
'Content-Security-Policy': CSP_AVISO,
},
});
}