Skip to content

Comandos úteis

Veja também

createApp(options) ​

OpçãoPadrãoDescrição
bodyLimit1048576Tamanho máximo do body JSON, em bytes
queryMaxKeys1000Máximo de pares lidos da query string
queryParser—Parser de query próprio, como o qs, para sintaxes aninhadas
parsers—Parsers de body por tipo de mídia, além do JSON
contractscontracts.native()O motor dos contratos: contracts.standard() para Zod, Valibot e ArkType
requireSchemasfalseExige schemas de body e de resposta no registro das rotas
securityHeaders'api''api', 'web', um objeto de opções, ou false para desligar
serializers—Serializadores por content type, para responder em outros formatos
shutdownSIGINT/SIGTERM, 10ssignals, timeoutMs, drainDelayMs, onShutdown, exit; false desliga
protoPoisoning'error'Body com __proto__/constructor.prototype: 'error' (400) ou 'remove'
trustProxyfalsetrue ou o número de proxies: ctx.ip/host/protocol passam a usar os X-Forwarded-*
allowedHostsqualquer host válidoLista de hosts (string ou RegExp); os demais recebem 400
formatErrorProblem Details(problem, ctx) => corpo, para personalizar o corpo de todos os erros
timeouts30s / 10s / 5srequestTimeout, headersTimeout, keepAliveTimeout
loggerconsoleLogger()Logger compatível com pino; false desliga
logRequestsfalseLog de cada requisição concluída (request completed) ou cancelada (request aborted)
telemetry—O @opentelemetry/api da aplicação: spans e métricas HTTP
requestIdheader x-request-idheader, trustIncoming, generate

Métodos do app: use(), mount(), group(), static(), health(), openapi(), openapiDocument(), onRequest(), onError(), onSend(), onResponse(), onClose(), listen(), close(), callback(), inject(), log. O mount() devolve um MountedGroup, com os verbos do mapeamento manual e os mesmos métodos do app, para continuar o encadeamento.

O body só é lido como JSON quando o Content-Type é application/json ou application/*+json.

Licença ISC.