HTTP リクエストを作成する Node.js アプリケーションを作成しています。受信したヘッダーに応じて、そのリクエストの結果を処理するか、リクエストを終了します。特に、ダウンロードしようとしているファイルが大きすぎる場合は、リクエストを停止したいと思います (ダウンロードも停止します。つまり、ダウンロードはバックグラウンドで行われるため、結果を無視することはできません)。これを行う方法はありますか?ノードのドキュメントで見つけることができません。コード例:
http.get(requestParams, function(res) {
var bodyData = "";
try {
if(parseInt(res.headers['content-length']) > settings.maxSize) {
done(new Error("Response is too large: " + res.headers['content-length']));
// is there something I should do here to end the request?
return;
} else {
log.debug("Content length of " + res.headers['content-length'] + " is under limit of " + settings.maxSize);
}
} catch(ex) {
done(new Error("Error parsing content-length from response header:" + util.inspect(ex)));
return;
}
res.setEncoding('utf8');
res.on('data', function (chunk) {
bodyData += chunk;
});
res.on('end', function() {
done(null, bodyData);
});
}).on('error', function(e) {
done(e);
});