appcore-transport
Estável 1.0.0 · MSRV Rust 1.89 · crates.io · docs.rs · código-fonte
Prerelease opcional 1.1.0-alpha.2 com client pooled e deadlines por
exchange: crates.io ·
docs.rs ·
código-fonte público.
Guia e exemplos mantidos pelo crate
O repositório público mantém o guia detalhado, exemplo básico e exemplo intermediário. O wiki resume a fronteira pública; detalhes de API e execução ficam junto ao código do crate.
Responsabilidade: mecânica HTTP/TLS compartilhada e limitada.
Dependências internas: nenhuma.
Versionamento: SemVer independente. O crate pode ser consumido sem qualquer outro pacote AppCore.
API principal: HttpScheme, HttpTarget, HttpRequest, HttpHeader,
HttpClient, HttpExchangeConfig, HttpTimeouts, HttpPoolConfig,
HttpClientConfig, HttpResponse, CancellationToken, TransportError,
send, parse de resposta e gzip limitado.
Mantenha e clone um HttpClient para compartilhar um pool limitado por scheme,
host e porta. Os deadlines de conexão/admissão, leitura e escrita são
independentes. Somente respostas totalmente delimitadas e interpretadas podem
ser reutilizadas; truncamento, framing inválido, timeout, cancelamento,
Connection: close e body delimitado por fechamento descartam o socket. A
função livre send continua sendo um adapter V1 one-shot e enviando
Connection: close.
Use em adapters de infraestrutura que compartilham limites, timeout, cancelamento e TLS. O consumidor mantém autenticação e policy. Não transforme em framework web nem adicione endpoints de negócio.
O Debug de request/response mostra o tamanho do body, nunca seus bytes.
Headers conhecidos de credencial sao redigidos mesmo quando o chamador usa o
construtor de header nao sensivel.
Maturidade: superfície de infraestrutura estável.