Parsen Ich bin von einem Remote-Server für die Handhabung, entlang der folgenden Zeilen eine Anfrage an Rohr versucht:Knoten express/Anfrage: kochend eine POST-Anforderung mit dem Körper
var destination = request(url);
req.pipe(destination).pipe(res);
Der für GET
Anfragen ganz gut funktioniert. Aber für POST
Anfragen ich kämpfe. Ein wichtiger Punkt ist zu beachten, glaube ich, ist, dass für POST
Anfragen ich einen Körper-Parser vor meiner POST
Route Handler bin mit, um den Körper von der POST
Anfrage zu extrahieren ... es ist nur ein einfacher Textkörper-Parser, weil der Körper enthält Klartext:
var postRouteHandler = someFunction;
var bodyParser = require('body-parser');
var textParser = bodyParser.text({
limit: '50kb'
});
app.use('/postRoute', [textParser, postRouteHandler]);
Von this issue und this issue scheint es mir, dass auf der POST
Anfrage, bevor Sie Rohr jede Verarbeitung zu tun wird es ein Problem verursachen. Tatsächlich, wenn ich den Parser entferne, scheint die Rohrleitung in Ordnung zu sein.
Das Problem ist, dass ich zuerst den Körper zu untersuchen, einige anfängliche Verarbeitung zu tun und dann, ob oder nicht Rohr auf den Remote-Server an alle, die Anforderung zu bestimmen. So brauche ich , um den Körper vor der Verrohrung zu analysieren.
Gibt es eine Möglichkeit, dieses Problem zu umgehen?
Lernen vom Meister! Genius! Nicht nur eine großartige Lösung, sondern auch eine klare und prägnante Erklärung, warum das Problem auftritt. Du bist in der Tat der Meister @robertklep! – drmrbrewer
... nur eine Sache ... sollte es 'request.post (url)' anstatt nur 'request (url)' sein? – drmrbrewer
Ich bin mir ziemlich sicher, dass 'request'' req.method/stream.method' verwendet, um zu bestimmen, welche Art von Anfrage auszuführen ist, so dass Sie nicht explizit darüber sein müssen. – robertklep