benoitc / benoitc/http-parser

Error method parsed when more data append request buffer

Abierto
#70 2 comentarios 0 reacciones 0 asignados Ver en GitHub
bug to investigate
Lenguaje dominante
C
Estrellas
345
Forks
94
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza ejecutando la demo proporcionada mediante los puntos de entrada de HttpParser respaldados por C, especialmente execute y get_method, y compárala con pyparser. Rastrea por qué añadir la respuesta cambia el método analizado; la tarea estará terminada cuando la implementación en C indique GET, analice 37 bytes de la solicitud y deje la longitud combinada en 79, como se muestra en el resultado esperado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, python
Área
api, backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.