HttpParser and multiple concatenated HTTP responses

Ouverte
#44 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
c, python
Domaine
networking

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.

Description

improvement

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.

Langage dominant
C
Étoiles
345
Forks
93
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de benoitc/http-parser

Toutes les issues de benoitc/http-parser

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

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