react / react/react-native

XMLHttpRequest corrupts headers named after Object prototype properties

Offen
#58,232 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs: Author Feedback Needs: Repro
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Description

React Native XMLHttpRequest stores request headers and normalized response headers in ordinary objects. Valid header names that collide with Object.prototype are therefore corrupted or hidden: repeated Constructor values begin with inherited function text, __proto__ cannot be stored normally, and an absent toString response header is returned as an inherited function instead of null.

Expected behavior

All valid case-insensitive header names should be stored, combined, and retrieved as their own values without interacting with JavaScript object prototypes.

React Native Version

0.87.1 and current main

Affected Platforms

JavaScript networking - All

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne bei der XMLHttpRequest-Implementierung von React Native und prüfe, wie Request-Header und normalisierte Response-Header gespeichert und abgerufen werden. Finde fokussierte Tests für Constructor, proto und einen fehlenden toString-Header oder füge sie hinzu; abgeschlossen ist die Arbeit, wenn gültige Namen ohne Beachtung der Groß-/Kleinschreibung ihre eigenen Werte behalten, ohne mit Object.prototype zu interagieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, react-native
Bereich
mobile, networking
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

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