reqwest
Installation
SKILL.md
reqwest
Um Client clonável, criado no boot. Não reqwest::get por request (sem pool, sem timeout). Runtime: tokio. Webhooks assinados: webhooks. Contratos: api-design. Testes: rust-unit-testing (fake ou wiremock se o crate já tiver).
Regras inegociáveis
ClientnoAppState(ouOnceLockno binário). Clone é barato (handle).- Timeouts:
connect+timeouttotal no builder (e/ou por request). Sem hang eterno. - Retry só em rede /
429/5xxcom backoff e teto. Não retry4xxde negócio. - JSON:
serdetipos. Status ≠ 2xx →AppErrormapeado, nãounwrapnojson().await. - Sem logar body com token/PII (
tracing).