Expose body-free HTTP status and Retry-After metadata
Mantenedores costumam responder em até 2 dias
@bolinfest já está trabalhando nisso.
Desde 14/10/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Problem
The reqwest Streamable HTTP client preserves structured details for selected
authentication failures, but callers cannot reliably distinguish a 429 or
5xx response or inspect Retry-After. Falling through to response parsing can
also turn the failure into a body-related error that no longer exposes the HTTP
status.
Proposed direction
Return a typed, body-free error for 429 and 5xx responses immediately after
the GET or POST completes:
pub struct HttpStatusError {
pub status: u16,
pub retry_after: Option<String>,
}
Only a valid UTF-8 Retry-After value of at most 128 bytes would be retained.
The response body, request authentication, and other headers would not be
stored in the error.
This is intentionally narrower than #388, which discusses broader rate-limit
behavior. It is also separate from #1246: this proposal does not add response
size configuration, buffered-body limits, trait changes, or body-reading code.
For 429 and 5xx, it returns before reading a body at all.
Planned validation
Loopback reqwest tests would exercise POST 429 and GET 503 responses with
Retry-After, private bodies, and private request state, then verify that the
typed error retains only the intended metadata. A helper test would cover a
valid retry value, invalid UTF-8, and a 129-byte value. Both GET and POST call
sites would use the same classification helper.
Would this error shape and narrow status set fit the transport API?
- Linguagem predominante
- Rust
- Estrelas
- 4k
- Forks
- 662
- Merge médio
- 3d 20h
- PRs com merge (30d)
- 30
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de modelcontextprotocol/rust-sdk
-
Streamable HTTP client: a 401 or 403 with a JSON-RPC error body and no WWW-Authenticate loses its HTTP statusTalvez já em andamento @aton-of-data assumiu há 5 dias. Abertabug P2 ready for work T-security T-transport
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
modelcontextprotocol/rust-sdk#1339 ·
Mantenedores costumam responder em até 2 dias
-
auth: refresh_token() requests offline_access that was never granted, so refreshes fail with invalid_scopeTalvez já em andamento @jstar0 assumiu há 7 dias. Abertabug P1 ready for work T-security T-transport
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
modelcontextprotocol/rust-sdk#1330 ·
Mantenedores costumam responder em até 2 dias
-
P3 question Stale T-documentation T-enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 86/100
modelcontextprotocol/rust-sdk#1155 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Expose OAuth discovery and registration results for application-owned flowsTalvez já em andamento @connor4312 assumiu hoje. Abertaenhancement P2 ready for work T-security
modelcontextprotocol/rust-sdk#1371 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
Two rmcp tests fail on Windows: connection-refused text check and `npm` spawn in test_with_jsTalvez já em andamento @bolinfest assumiu há 1 dia. Abertabug P2 ready for work T-test
modelcontextprotocol/rust-sdk#1364 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 2 dias
Todas as issues de modelcontextprotocol/rust-sdk
Issues semelhantes
-
priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
storytold/photocraft#6759 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
area:logging documentation good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
hugowis/open-fpv-sim#48 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
IngvarConsulting/unica#1537 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100