A feature request: implement `retain` on HeaderMap
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 52/100
Direção de pesquisa
Comece localizando a implementação de HeaderMap e os testes existentes para seus métodos de mutação; em seguida, leia como closures são usadas pelas APIs próximas. Adicione o comportamento de retain solicitado para filtrar as entradas de header e cubra nos testes tanto os headers mantidos quanto os removidos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
It would be really handy to have the retain method available (as per std::collections) in order to allow headers to be removed based upon a closure. This would, for example, avoid the double-scan and "clone key" issues when one has a list of headers that must be retained or removed:
let delete_list: Vec<HeaderName> = headers
.keys()
.filter(|k| !allowed_headers.contains(*k))
.map(|k| k.clone())
.collect::<Vec<HeaderName>>();
for header in delete_list {
headers.remove(header);
}
would be replaced with
headers.retain(|(k,v)| allowed_headers.contains(*k));
- Linguagem predominante
- Rust
- Estrelas
- 1.4k
- Forks
- 387
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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 hyperium/http
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
Todas as issues de hyperium/http
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
test(hydro_std): track_membership join and leave are untestedTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
hydro-project/hydro#3289 ·
Mantenedores costumam responder em até 1 dia
-
diagram-bug good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
enhapu-afk/omaspec#4 ·
-
priority: low ☕️ type: bug 🐛
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
bug security
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 4 dias