Maison > développement back-end > Golang > Comment puis-je inspecter le corps d'une requête HTTP sans le modifier ?

Comment puis-je inspecter le corps d'une requête HTTP sans le modifier ?

DDD
Libérer: 2024-12-21 16:34:10
original
596 Les gens l'ont consulté

How Can I Inspect an HTTP Request Body Without Modifying It?

Inspecter le corps d'une requête HTTP sans le modifier

Dans un scénario où vous devez analyser le corps d'une requête POST entrante sans modifier son état, le un problème survient avec l'épuisement du flux de requêtes, entraînant des erreurs lors du transfert vers un proxy inverse.

Pour résoudre ce problème, considérez le approche suivante :

Créez un tampon en y lisant à partir du corps de la requête d'origine (io.ReadAll(r.Body)).

Utilisez le tampon pour créer deux nouveaux lecteurs :

  • rdr1 pour votre analyse à l'aide de fonctions d'analyse intégrées telles que req.ParseForm().
  • rdr2 pour les consommateurs suivants assurez-vous que l'état de la demande d'origine reste intact.

Attribuez rdr2 à r.Body, permettant aux gestionnaires suivants d'opérer sur la demande non modifiée.

Cette technique vous permet d'inspecter le corps de la demande sans affectant l'objet de la demande d'origine, garantissant son intégrité pour un traitement ultérieur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal