0
私はkoaを使用しています 何らかの条件が満たされたときに別のサーバにユーザの要求を送信し、サーバからの応答を得て、それをユーザに送信する方法サーバ。 私はhttp.requestを使用して、解像度を持って、今どのように私はパイプ例えばちょうど元のHTTPサーバのような、ユーザのソケットにRES、res.pipe(response)
nodejs pipe koa resへのhttp応答
var options = {
host: "blog.suconghou.cn",
port: 80,
encoding: null,
path: "http://blog.suconghou.cn",
headers: {
Host: "blog.suconghou.cn"
}
};
http.request(options, function(res)
{
res.pipe(process.stdout);
console.log(res.body,typeof res);
ctx.body=res; // ctx is this in app.use
}).end();
はそれが動作しないことができる、私はドンそれをkoaの応答にパイプする方法を知っています
アイデア: 'resolve(res)'で約束を返す関数で、http.requestをラップします。ルートから、 'ctx.body = yield makeRequest(...)'を試してください。あなたのコードに関する1つの問題は、リクエストコールバックが終了する前にkoaハンドラが返ることです。あなたはそれを待つ必要があります。 – danneu
@danneu ok、知っていますが、https://github.com/koajs/koa/blob/master/lib/application.js#L227などのパイプをどうすれば使用できますか?ヘッダー – suconghou