0
Ich versuche, eine Middleware zu erstellen, die 500 Fehler an einen Remote-Server sendet. Die Fehlerinformation befindet sich im Antworttext.Wie Antwort Körper in WAI Middleware lesen?
Wie kann ich den Antwortkörper von einer Response
als irgendeine Art Schnur erhalten? Ich sehe responseToStream
, aber ich kann nicht herausfinden, wie man es benutzt.
import Network.Wai
import Data.ByteString.Lazy (ByteString)
responseBody :: Response -> IO ByteString
responseBody res = _
Das Ergebnis 'responseToStream' ist ein 3-fach; Ich nehme an, mit "Körper" meinst du, dass du an der dritten Komponente interessiert bist und nicht an den ersten beiden (die konkrete, d. H. Nicht abstrakte, algebraische Typen sind, so dass du direkt auf ihre Felder zugreifen kannst). Für die dritte Komponente könnten Sie wahrscheinlich einfach eine Funktion für Builder -> IO() 'übergeben, die jeden' Builder' an ein 'IORef' (oder' MVar' in einer gleichzeitigen Einstellung) anpasst - "der erste Parameter bietet die Möglichkeit, einen weiteren Datenblock zu senden "(hier wird das Senden nur im Speicher gespeichert). – user2407038