benoitc / benoitc/http-parser

HttpParser and multiple concatenated HTTP responses

Ouverte
#44 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
improvement
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.