0
J'essaie de créer un middleware qui enverra 500 erreurs à un serveur distant. L'information d'erreur est dans le corps de la réponse.Comment lire le corps de la réponse dans le middleware WAI?
Comment puis-je obtenir le corps de réponse d'un Response
comme n'importe quel type de chaîne? Je vois responseToStream
mais je n'arrive pas à comprendre comment l'utiliser.
import Network.Wai
import Data.ByteString.Lazy (ByteString)
responseBody :: Response -> IO ByteString
responseBody res = _
Le résultat de 'responseToStream' est un 3-tuple; Je suppose que par "corps" vous voulez dire que vous êtes intéressé par le 3ème composant et non par les deux premiers (qui sont des types algébriques concrets, c'est-à-dire non-abstraits, donc vous pouvez accéder directement à leurs champs). Pour la 3ème compilation, vous pourriez probablement passer une fonction pour 'Builder -> IO()' qui 'mappend's chaque' Builder' à un 'IORef' (ou' MVar' dans un paramètre simultané) - "le premier paramètre fournit un moyen d'envoyer un autre morceau de données "(ici 'envoi' est juste en train d'enregistrer en mémoire). – user2407038