New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

https-client

Package Overview
Dependencies
Maintainers
0
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

https-client - npm Package Compare versions

Comparing version
1.4.3
to
1.4.4
+1
-1
package.json
{
"name": "https-client",
"version": "1.4.3",
"version": "1.4.4",
"description": "Simple REST client for `node.js` `https` module. Adds retries and timeout support to `https` module.",

@@ -5,0 +5,0 @@ "author": "Will Tesler",

@@ -182,73 +182,80 @@ module.exports = class HttpsClient {

const responsePromise = new Promise(resolve => {
const req = httpLib.request(requestOptions, res => {
const data = [];
try {
const req = httpLib.request(requestOptions, res => {
const data = [];
const statusCode = res.statusCode;
const statusCode = res.statusCode;
res.on('error', e => {
cancelResponseTimeout();
e.statusCode = statusCode;
logWarning(e);
resolve(e); // Network Error
});
res.on('data', chunk => {
cancelResponseTimeout();
if (onChunk) {
try {
onChunk(chunk);
} catch (e) {
logWarning(e);
resolve(e);
res.on('error', e => {
cancelResponseTimeout();
e.statusCode = statusCode;
logWarning(e);
resolve(e); // Network Error
});
res.on('data', chunk => {
cancelResponseTimeout();
if (onChunk) {
try {
onChunk(chunk);
} catch (e) {
logWarning(e);
resolve(e);
}
} else {
data.push(chunk);
}
} else {
data.push(chunk);
}
});
res.on('end', () => {
if (didTimeout) {
resolve();
return;
}
});
res.on('end', () => {
if (didTimeout) {
resolve();
return;
}
cancelResponseTimeout();
clearTimeout(deadlineTimeout);
cancelResponseTimeout();
clearTimeout(deadlineTimeout);
const responseStr = buffer.concat(data).toString();
let response;
if (headers['Accept'] === 'application/json') {
try {
response = JSON.parse(responseStr);
if (!response.statusCode) {
response.statusCode = statusCode;
const responseStr = buffer.concat(data).toString();
let response;
if (headers['Accept'] === 'application/json') {
try {
response = JSON.parse(responseStr);
if (!response.statusCode) {
response.statusCode = statusCode;
}
} catch (e) {
// Everything is fine.
}
} catch (e) {
// Everything is fine.
}
}
if (!response) {
response = {
data: responseStr,
statusCode: statusCode
};
}
if (!response) {
response = {
data: responseStr,
statusCode: statusCode
};
}
if (statusCode >= 400) {
logWarning(response);
let responseStr = response;
const serverError = new Error(`Received not OK status code with call to ${host}${path}`);
serverError.statusCode = statusCode;
if (typeof response === 'string') {
serverError.message = `Received ${statusCode} code. Response treated as rejection. Full response: ${responseStr}`;
if (statusCode >= 400) {
logWarning(response);
let responseStr = response;
const serverError = new Error(`Received not OK status code with call to ${host}${path}`);
serverError.statusCode = statusCode;
if (typeof response === 'string') {
serverError.message = `Received ${statusCode} code. Response treated as rejection. Full response: ${responseStr}`;
} else {
Object.assign(serverError, response);
}
resolve(serverError);
} else {
Object.assign(serverError, response);
// Success
didSucceed = true;
resolve(response);
}
resolve(serverError);
} else {
// Success
didSucceed = true;
resolve(response);
}
});
});
});
} catch (e) {
cancelResponseTimeout();
e.statusCode = e.code;
logWarning(e);
resolve(e); // Network Error
}

@@ -255,0 +262,0 @@ if (abortSignal) {