Я запрашиваю сервер отдыха у 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;