A feature request: implement `retain` on HeaderMap
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 52/100
Piste de recherche
Commencez par localiser l’implémentation de HeaderMap et ses tests existants pour les méthodes de mutation, puis examinez comment les closures sont utilisées par les API voisines. Ajoutez le comportement retain demandé pour filtrer les entrées de header et couvrez dans les tests les headers conservés comme les headers supprimés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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));
- Langage dominant
- Rust
- Étoiles
- 1.4k
- Forks
- 386
- Merge moyen
- 1 j 5 h
- PR mergées (30 j)
- 2
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de hyperium/http
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 62/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
Toutes les issues de hyperium/http
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
manuscript-lang/manuscript#1364 ·
Les mainteneurs répondent en général sous 1 jour
-
`printf "%o"` prints decimalOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
fable-compiler/Fable#5157 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
C-bug needs-triage O-UEFI T-libs
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
移动端宽屏适配Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour