Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

HeaderValue::to_str returns an error for valid unicode strings

Offen
#527 0 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
rust
Bereich
api, networking

Rechercherichtung

Beginne damit, HeaderValue::to_str und die Definition von ToStrError zu lokalisieren, und prüfe anschließend die vorhandenen Tests für die Konvertierung von Header-Werten in Strings. Bestätige, wie die Erstellung von HeaderValue Bytes validiert, bevor du das Konvertierungsverhalten änderst. Als erledigt gilt die Änderung, wenn gültiges UTF-8, einschließlich Unicode und Tabs, zurückgegeben wird, während ungültiges UTF-8 weiterhin einen Fehler verursacht und der Name ToStrError kompatibel bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

HeaderValue::to_str() returns an error if the header value contains any byte that's not "visible ASCII" (though this is misleading as \t is legal even though it's not visible). This is weird, it should just return a string if it contains a valid string regardless of the contents. We already know it doesn't contain illegal bytes (as that's checked upon creation of HeaderValue) so we don't need to check again, and there's no reason to disallow unicode characters when getting the string representation.

I think the right thing here is to just replace the implementation with std::str::from_utf8(), and replace ToStrError with a pub use std::str::Utf8Error as ToStrError for backwards compatibility.

Also see #519.

Vorherrschende Sprache
Rust
Sterne
1.4k
Forks
382
Ø Merge
10 Std. 32 Min.
Gemergte PRs (30 T.)
2

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus hyperium/http

Alle Issues in hyperium/http

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.