サーバーとしてエクスプレスを使用しており、上流のボックスからコンテンツを取得するように要求しています。
アップストリームからクライアントにデータをストリーミングするためのこの美しくシンプルな関数があります。
function(req, res){
request("http://example.com").pipe(res);
}
Cache-Control: no-cache
アップストリーム ボックスは、Nginx (リバース プロキシ) が応答をキャッシュできるように、変更したいキャッシュ ヘッダーを返しています。
はどこに置けばres.header('Cache-Control', 60);
いいですか?
私はもう試した:
function(req, res){
var retrieve = request("http://example.com");
retrieve.on('data', function(chunk){
if(res.get('Cache-Control') != 60)
res.header('Cache-Control', 60);
});
retrieve.pipe(res);
}
しかし、これはError: Can't set headers after they are sent
エラーをスローします。
ヘッダーが送信される前writeHeader()
に呼び出されるリスナーはありますか?