HttpParser and multiple concatenated HTTP responses
- Lenguaje dominante
- C
- Estrellas
- 345
- Forks
- 94
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hi!
If my understanding is correct HttpParser.execute returns the number of bytes consumed, hence it is possible to parse multiple concatenated HTTP responses by checking is_message_complete() and starting a new parser from the same very position the last one stopped.
However the observed behavior is very different: execute() happily consumes the whole string, the subsequent responses text ends up in the message body and _clen_rest is negative.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza reproduciendo el caso de respuestas concatenadas en torno a HttpParser.execute() e is_message_complete(), y después inspecciona cómo se actualiza _clen_rest cuando termina una respuesta. La tarea estará terminada cuando el parser indique el límite de la primera respuesta sin colocar texto de respuestas posteriores en el body, de modo que otro parser pueda comenzar en la posición devuelta.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c, python
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100