HttpParser and multiple concatenated HTTP responses
- Langage dominant
- C
- Étoiles
- 345
- Forks
- 94
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par reproduire le cas de réponses concaténées autour de HttpParser.execute() et is_message_complete(), puis examinez comment _clen_rest est mis à jour lorsqu’une réponse se termine. Le travail est terminé lorsque le parser signale la limite de la première réponse sans placer le texte des réponses suivantes dans le body, afin qu’un autre parser puisse démarrer à la position renvoyée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, python
- Domaine
- networking
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100