Middleware HTTP

CORS, cookies, rate limit e bootstrap HTTP via applyHttpMiddleware.

CORS, cookie-parser e rate limit são aplicados em um único ponto: applyHttpMiddleware em src/host/bootstrap/apply-http-middleware.ts. O main.ts chama essa função logo após NestFactory.create.

typescript
import { applyHttpMiddleware } from '@/host/bootstrap/apply-http-middleware';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  applyHttpMiddleware(app);
  // ...
}

Por padrão a API aceita qualquer origin (origin: true com credentials: true), alinhado ao princípio de APIs públicas e consumíveis por qualquer cliente.

Para restringir, defina CORS_ORIGINS no .env (origens separadas por vírgula):

env
CORS_ORIGINS=http://localhost:4200,https://app.example.com

A resolução fica em resolveCorsOrigin() (src/core/utils/resolve-cors-origins.ts):

CORS_ORIGINS Comportamento
ausente ou vazio true — reflete a origin da requisição
uma origem string única
várias origens array de strings

Middleware em src/core/http/rate-limit.middleware.ts, registrado pelo bootstrap. Desabilitado por padrão (RATE_LIMIT_MAX=0).

env
RATE_LIMIT_MAX=300
RATE_LIMIT_WINDOW_MS=60000
Variável Default Descrição
RATE_LIMIT_MAX 0 Máximo de requisições por IP na janela; 0 desliga
RATE_LIMIT_WINDOW_MS 60000 Janela em milissegundos

Resposta ao exceder o limite: HTTP 429 com mensagem JSON padronizada.

cookie-parser é registrado no bootstrap — necessário para refresh token em cookie (/auth/refresh) quando autenticação JWT está instalada.

  • src/test/core/resolve-cors-origins.spec.ts
  • src/test/core/http/rate-limit.middleware.spec.ts

Veja também: Variáveis de ambiente, Estrutura do projeto.

Koala Nest

Facilitador para criar APIs NestJS com arquitetura DDD. Código copiado para o seu repositório — legível, adaptável e sob seu controle.

Creator

igordrangel.com.br

Design, back-end e estratégia de produto.

Comandos rápidos

CLI global e scripts no projeto gerado

  • bun install -g @koalarx/nest
  • kl-nest new
  • kl-nest add cache
  • bun run migration:run # template CRUD
  • kl-nest --help
© 2026 Koala NestFeito para desenvolvedores NestJS e fluxos assistidos por IA.