benoitc / benoitc/http-parser

Error method parsed when more data append request buffer

Aperta
#70 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug to investigate
Lingua principale
C
Stelle
345
Fork
94
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia eseguendo la demo fornita tramite gli entry point di HttpParser basati su C, in particolare execute e get_method, e confrontala con pyparser. Ricostruisci il motivo per cui l’aggiunta della risposta modifica il metodo analizzato; il lavoro è completato quando l’implementazione C indica GET, analizza 37 byte della richiesta e lascia la lunghezza combinata a 79, come mostrato nel risultato atteso.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, python
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.