Um API Gateway minimalista construído com Hono.js para roteamento de requisições para microserviços.
- 🚀 Roteamento simples e rápido
- 🔄 Proxy de requisições para microserviços
- ⏱️ Timeout configurável por serviço
- 🛡️ Tratamento de erros robusto
- 📊 Endpoint de health check
- 🌐 CORS configurável
- 📝 Logs de requisições
npm installEdite o arquivo src/config.ts para configurar seus serviços:
export const serviceConfig: ServiceRoute[] = [
{
path: '/api/users/*',
target: 'http://localhost:3001',
methods: ['GET', 'POST', 'PUT', 'DELETE'],
timeout: 5000
}
]npm install
npm run devO comando acima usa wrangler dev, que emula o ambiente dos Workers localmente. Para sobrescrever variáveis de ambiente apenas na sua máquina, crie um arquivo wrangler.toml local ou utilize --var/--binding conforme necessário.
npm run dev:nodeEsse modo continua disponível apenas para testes locais básicos e usa o servidor Node da Hono.
npm run deployCertifique-se de executar
npx wrangler loginantes do deploy e de configurar as variáveis de ambiente viawrangler.tomlouwrangler secret put.
GET /health
Retorna o status do gateway e lista de serviços configurados.
O gateway automaticamente roteia requisições baseado na configuração:
GET /api/users/123→http://localhost:3001/api/users/123POST /api/products→http://localhost:3002/api/products
PORT=3000 # Porta do gateway
CORS_ORIGINS=http://localhost:3000 # Origens permitidas para CORS
LOG_LEVEL=info # Nível de log200-299: Sucesso (proxy do serviço)404: Rota não encontrada405: Método não permitido503: Serviço indisponível504: Timeout de requisição