Multi-value tornado headers are fetched with `get()` rather than `get_list()`

Offen Anfängerfreundlich
#1,109 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

  • #1110 von @Prognosticate-X — ohne Merge geschlossen
  • #1113 von @Fire162 — ohne Merge geschlossen
  • #1114 von @X6M-Work — ohne Merge geschlossen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
62/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
backend

Rechercherichtung

Beginne im Tornado-Parser, wo Multidict-Header-Abfragen get(...) auf dem Tornado-HTTPHeaders-Objekt aufrufen. Reproduziere den Fehler mit zwei add-Aufrufen für denselben Header-Namen und vergleiche danach get mit get_list. Fertig ist, wenn ein Regressionstest zeigt, dass wiederholte Header als Liste zurückgegeben werden, und das Verhalten des Parsers für sie korrigiert ist. Lies zuerst die KI-Beitragsrichtlinie des Projekts, da der frühere Versuch nach dieser Richtlinie geschlossen wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

In the tornado parser, we have multidict support for headers which gets data using get(...). This combines headers, and therefore gives wrong results.
Given the setup:

>>> import tornado
>>> h = tornado.httputil.HTTPHeaders()
>>> h.add("a", "foo")
>>> h.add("a", "bar")

Compare:

>>> h.get("a")
'foo,bar'
>>> h.get_list("a")
['foo', 'bar']

We should add a regression test for this and a fix.


This was flagged in #1108, which was summarily closed as a low-quality PR in violation of our AI policy.

Vorherrschende Sprache
Python
Sterne
1.4k
Forks
171
Ø Merge
8 Std. 47 Min.
Gemergte PRs (30 T.)
12

Entwicklungsumgebung

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 marshmallow-code/webargs

Alle Issues in marshmallow-code/webargs

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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