Как определить длину контента (размер ответа) без получения ответа в Nodejs?

Я запрашиваю сервер отдыха у nodejs с помощью модуля запроса nodejs. Можно ли определить размер данных, которые будут возвращены мне (до принятия данных)? Я хочу отменить операцию, если размер данных, которые будет возвращено мне больше, чем сумма, которую я определяю. цель здесь состоит в том, чтобы убедиться, что моя сеть не заблокирована.

Моя часть запроса выглядит следующим образом:

const request = registry.get("requestPromiseNative");
const logger = registry.get("logger");
let env = registry.get("env");

 class SmartContractFetch {
constructor() {
this.dataSizeFetched = 0; //in bytes
}

async fetchData(method, url, data = {}, header = {}) {
try {
  logger.info("Smart contract fetch işlemi başladı.");
  if (method.toUpperCase() === "POST") {
    console.log("POS içinde  : " + JSON.stringify(data));
    let response = await request.post({
      url: url,
      resolveWithFullResponse: true,
      form: data,
      headers: header
    });
    let responseJSON = JSON.parse(response.body);
    this.dataSizeFetched += response.body.length;
    logger.info(
      "Smart contract fetch işlemi başarıyla tamamlandı. Gelen Data : " +
        responseJSON
    );
    return responseJSON;
  } else if (method.toUpperCase() === "GET") {
    console.log("GET içinde  : " + JSON.stringify(data));
    let response = await request.get({
      url: url,
      resolveWithFullResponse: true,
      form: data,
      headers: header
    });
    this.dataSizeFetched += response.body.length;
    let responseJSON = JSON.parse(response.body);
    logger.info(
      "Smart contract fetch işlemi başarıyla tamamlandı. Gelen Data : " +
        responseJSON
    );
    return responseJSON;
  }
} catch (error) {
  logger.error(
    "Smart contract fetch işlemi başarısız. Sonuç : " + error.message
  );
  throw new Error(error);
}
 }
 }
 module.exports = SmartContractFetch;

person Baltazarr    schedule 28.02.2019    source источник
comment
Возможный дубликат https://stackoverflow.com/questions/15636095/how-to-limit-response-length-with-http-request-in-node-js   -  person Zak    schedule 28.02.2019
comment
Нет ли способа понять размер данных без ввода данных.   -  person Baltazarr    schedule 28.02.2019
comment
Вы не можете угадать размер ответа, не читая его. Решение по ссылке, не читает все данные. Он читает его как поток и останавливается на пределе. Не беспокойтесь о сетевых ресурсах. На это не повлияет, если вы установите нижний предел размера ответа. Возможно, есть и другие решения, но я не думаю, что вы можете сделать это только с помощью Node.   -  person Zak    schedule 28.02.2019
comment
Спасибо за ответ. Но я не совпал с экземпляром потока для всех типов запросов, использующих http nodejs. Я не прав.   -  person Baltazarr    schedule 01.03.2019
comment
@Zak Спасибо, чувак, это решает мою проблему. И я хочу проголосовать за твой пост, если ты ответишь мне ниже.   -  person Baltazarr    schedule 01.03.2019
comment
Все в порядке, пожалуйста   -  person Zak    schedule 01.03.2019