in lib/net/request.js [30:60]
function onResponse(res) {
/**@type {*}*/
let data = '';
/**@type {(Error & {statusCode?: number, data?: *})|null}*/
let error = null;
res.on('data', (chunk) => {
data += chunk.toString();
});
res.on('end', function() {
const contentType = res.headers['content-type'] || '';
if (contentType.indexOf('application/json') > -1) {
data = JSON.parse(data);
}
if (res.statusCode && (res.statusCode < 200 || res.statusCode > 299)) {
const errorDesc = data.error_description || '';
error = new Error('[' + res.statusCode + '] ' + (errorDesc || res.statusMessage));
error.statusCode = res.statusCode;
error.data = data;
}
fn && fn(error, data);
});
res.on('error', (error) => {
fn && fn(error, data);
});
}