私はNode.jsの相対的な初心者です。 Node.js内のリクエストの本文を変更して転送しようとしているのは2日間です。プロキシの場合、私はhttp-proxy
モジュールを使用しています。要求の本文を変更してからNode.jsでプロキシする
私がしなければならないことは、JSONオブジェクト内のユーザーのパスワードを傍受し、それを暗号化し、要求本体内に新しい暗号化パスワードを設定することです。
問題は、私がリクエストボディを収集しようとするたびに、それを消費することです(つまり、body-parser
を使用)。どのように私はこの仕事を達成することができますか?私は、ノード内のリクエストにストリームがあることを知っています。
私は完全性のために、express
を使用して、プロキシ処理の前に複数の操作を連鎖させています。
EDIT
私はプロキシにリクエストが役に立たないという事実。それは私が使用しようとしているコードに従います。
function encipher(req, res, next){
var password = req.body.password;
var encryptionData = Crypto().saltHashPassword(password);
req.body.password = encryptionData.passwordHash;
req.body['salt'] = encryptionData.salt;
next();
}
server.post("/users", bodyParser.json(), encipher, function(req, res) {
apiProxy.web(req, res, {target: apiUserForwardingUrl});
});
サーバー(RESTは、春のMVC製)を例外に私は、このために急行チェーンを使用していないのはなぜFailed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: null
これは、「送信後にヘッダーを設定できません。」というエラーを表示します。 Cf。 https://github.com/nodejitsu/node-http-proxy/issues/1168およびhttps://github.com/nodejitsu/node-http-proxy/issues/908。 –