Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
78737c24df | |||
6e276eda00 | |||
021d26a23a | |||
c9c8a1234c | |||
dffabd905f |
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartrequest",
|
||||
"version": "1.1.26",
|
||||
"version": "1.1.29",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartrequest",
|
||||
"version": "1.1.26",
|
||||
"version": "1.1.29",
|
||||
"private": false,
|
||||
"description": "dropin replacement for request",
|
||||
"main": "dist/index.js",
|
||||
|
@ -130,33 +130,40 @@ export let request = async (
|
||||
case parsedUrl.protocol === 'https:' && optionsArg.keepAlive:
|
||||
optionsArg.agent = httpsAgent;
|
||||
return plugins.https;
|
||||
case parsedUrl.protocol === 'https:' && !optionsArg.keepAlive:
|
||||
case parsedUrl.protocol === 'https:' && (!optionsArg.keepAlive):
|
||||
optionsArg.agent = httpsAgentKeepAliveFalse;
|
||||
return plugins.https;
|
||||
case parsedUrl.protocol === 'http:' && optionsArg.keepAlive:
|
||||
optionsArg.agent = httpAgent;
|
||||
return plugins.http;
|
||||
case parsedUrl.protocol === 'http:' && !optionsArg.keepAlive:
|
||||
case parsedUrl.protocol === 'http:' && (!optionsArg.keepAlive):
|
||||
optionsArg.agent = httpAgentKeepAliveFalse;
|
||||
return plugins.http;
|
||||
}
|
||||
})() as typeof plugins.https;
|
||||
|
||||
// lets perform the actual request
|
||||
const requestToFire = requestModule.request(optionsArg);
|
||||
const requestToFire = requestModule.request(optionsArg, async response => {
|
||||
if (streamArg) {
|
||||
done.resolve(response);
|
||||
} else {
|
||||
const builtResponse = await buildUtf8Response(response, optionsArg.autoJsonParse);
|
||||
done.resolve(builtResponse);
|
||||
}
|
||||
});
|
||||
|
||||
// lets write the requestBody
|
||||
if (optionsArg.requestBody) {
|
||||
if (!(optionsArg.requestBody instanceof plugins.formData)) {
|
||||
if (optionsArg.requestBody instanceof plugins.formData) {
|
||||
optionsArg.requestBody.pipe(requestToFire).on('finish', event => {
|
||||
requestToFire.end();
|
||||
});
|
||||
} else {
|
||||
if (typeof optionsArg.requestBody !== 'string') {
|
||||
optionsArg.requestBody = JSON.stringify(optionsArg.requestBody);
|
||||
}
|
||||
requestToFire.write(optionsArg.requestBody);
|
||||
requestToFire.end();
|
||||
} else if (optionsArg.requestBody instanceof plugins.formData) {
|
||||
optionsArg.requestBody.pipe(requestToFire).on('finish', event => {
|
||||
requestToFire.end();
|
||||
});
|
||||
}
|
||||
} else {
|
||||
requestToFire.end();
|
||||
@ -167,16 +174,6 @@ export let request = async (
|
||||
console.error(e);
|
||||
});
|
||||
|
||||
// lets handle the response
|
||||
requestToFire.on('response', async response => {
|
||||
if (streamArg) {
|
||||
done.resolve(response);
|
||||
} else {
|
||||
const builtResponse = await buildUtf8Response(response, optionsArg.autoJsonParse);
|
||||
done.resolve(builtResponse);
|
||||
}
|
||||
});
|
||||
|
||||
const result = await done.promise;
|
||||
return result;
|
||||
};
|
||||
|
Reference in New Issue
Block a user