Error method parsed when more data append request buffer
- Vorherrschende Sprache
- C
- Sterne
- 345
- Forks
- 94
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I made a demo
```
try:
from http_parser.parser import HttpParser
except ImportError:
from http_parser.pyparser import HttpParser
req = "GET / HTTP/1.1\r\nHost: www.xxx.com\r\n\r\n"
resp = "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\n1234"
data = req
p = HttpParser()
nparsed = p.execute(data, len(data))
print p.get_method(), nparsed, len(data)
# Got: GET 37 37
data = req + resp
p = HttpParser()
nparsed = p.execute(data, len(data))
print p.get_method(), nparsed, len(data)
# Got: HEAD 38 79
# pyparser Got: GET 79 79
# expected: GET 37 79
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginnen Sie damit, die bereitgestellte Demo über die C-gestützten HttpParser-Einstiegspunkte auszuführen, insbesondere execute und get_method, und vergleichen Sie sie mit pyparser. Verfolgen Sie, warum das Anhängen der Antwort die geparste Methode ändert; fertig ist die Aufgabe, wenn die C-Implementierung GET meldet, 37 Request-Bytes parst und die kombinierte Länge bei 79 belässt, wie im erwarteten Ergebnis gezeigt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100