`InvalidUri` errors could probably include the invalid bytes
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 42/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- rust
- Domaine
- networking
Piste de recherche
Repérez le type InvalidUri et le chemin d’analyse Uri::from_shared, puis examinez leurs implémentations de fmt::Display et fmt::Debug. Suivez les autres méthodes d’analyse qui convertissent l’entrée en Bytes. La tâche est terminée lorsque l’entrée invalide est conservée dans l’erreur et incluse dans sa sortie formatée, avec des tests couvrant la valeur d’erreur résultante et les messages.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The InvalidUri error type is returned when trying to parse an input as a URI, if the bytes are not a valid URI. This error type does not contain the value that we were trying to parse, but does indicate how the input was invalid.
Since all methods of parsing a value as a Uri either take a Bytes or convert the input (string or byte slice) into a Bytes, the error type probably could include the input, and format it as part of their fmt::Display/fmt::Debug implementations. Uri::from_shared takes a Bytes by value, so returning it in the error value shouldn't have a significant performance cost --- if we're trying to parse a URI from an &str or &[u8], we will have already copied it in order to convert it into a Bytes, and if the input was itself a Bytes, the reference count has already been incremented in order to call Uri::from_shared.
This would make it much easier for an application to display the invalid input to the user, which is desirable, especially in cases where the invalid URI came from user input.
- Langage dominant
- Rust
- Étoiles
- 1.4k
- Forks
- 385
- 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
-
`rtk ruff -- <path>` drops the leading `--`, so `rtk ruff -- check` lints the whole directoryOuvertearea:cli bug good first issue priority:medium
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
rtk-ai/rtk#4702 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
aaif-goose/goose#13031 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
meta.json, text.txt and try JSON are written non-atomicallyPeut-être pris @qwertymuzaffar l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
qwertymuzaffar/parrot#47 ·
Les mainteneurs répondent en général sous 1 jour
-
Alt select PhotocraftOuvertepriority: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
storytold/photocraft#8041 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour