Как ограничить длину ответа с http.request в Node.js

Таким образом, в этом (упрощенном) фрагменте кода, когда кто-то попадает на мой сервер узлов, я делаю GET-запрос на другой веб-сайт и печатаю заголовок HTML-страницы на консоли. Работает отлично:

var http = require("http");
var cheerio = require('cheerio');

var port = 8081;
s = http.createServer(function (req, res) {
var opts = {
    method: 'GET',
    port: 80,
    hostname: "pwoing.com",
    path: "/"
};
http.request(opts, function(response) {
    console.log("Content-length: ", response.headers['content-length']);
    var str = '';
    response.on('data', function (chunk) {
        str += chunk;
    });
    response.on('end', function() {
        dom = cheerio.load(str);
        var title = dom('title');
        console.log("PAGE TITLE: ",title.html());
    });
}).end();
res.end("Done.");
}).listen(port, '127.0.0.1');

Тем не менее, в реальном приложении пользователи могут указать URL для попадания. Это означает, что мой сервер узлов может загружать файлы фильмов размером 20 ГБ или что-то еще. Фигово. Заголовок content-length бесполезен для остановки этого, поскольку он не передается всеми серверами. Вопрос тогда:

Как я могу сказать ему остановить запрос GET после, скажем, получения первых 10 КБ?

Ура!

Ответы на вопрос(1)

Ваш ответ на вопрос