Compare commits

...

6 Commits

Author SHA1 Message Date
b882922f2b 2.0.11 2022-08-21 14:03:18 +02:00
9a0d35c325 fix(core): update 2022-08-21 14:03:18 +02:00
7b49bba0d2 2.0.10 2022-08-06 22:29:12 +02:00
6600a23a00 fix(core): update 2022-08-06 22:29:12 +02:00
e2845c9992 2.0.9 2022-08-01 17:15:53 +02:00
5e6f2c6fbf fix(core): update 2022-08-01 17:15:52 +02:00
4 changed files with 617 additions and 1843 deletions

2428
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartrequest", "name": "@pushrocks/smartrequest",
"version": "2.0.8", "version": "2.0.11",
"private": false, "private": false,
"description": "dropin replacement for request", "description": "dropin replacement for request",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
@ -26,16 +26,16 @@
"homepage": "https://gitlab.com/pushrocks/smartrequest#README", "homepage": "https://gitlab.com/pushrocks/smartrequest#README",
"dependencies": { "dependencies": {
"@pushrocks/smartpromise": "^3.1.7", "@pushrocks/smartpromise": "^3.1.7",
"@pushrocks/smarturl": "^3.0.2", "@pushrocks/smarturl": "^3.0.5",
"agentkeepalive": "^4.2.1", "agentkeepalive": "^4.2.1",
"form-data": "^4.0.0" "form-data": "^4.0.0"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.63", "@gitzone/tsbuild": "^2.1.65",
"@gitzone/tsrun": "^1.2.37", "@gitzone/tsrun": "^1.2.37",
"@gitzone/tstest": "^1.0.72", "@gitzone/tstest": "^1.0.73",
"@pushrocks/tapbundle": "^5.0.4", "@pushrocks/tapbundle": "^5.0.4",
"@types/node": "^18.6.2" "@types/node": "^18.7.8"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@pushrocks/smartrequest', name: '@pushrocks/smartrequest',
version: '2.0.8', version: '2.0.11',
description: 'dropin replacement for request' description: 'dropin replacement for request'
} }

View File

@ -98,7 +98,7 @@ export let request = async (
responseStreamArg: boolean = false, responseStreamArg: boolean = false,
requestDataFunc: (req: plugins.http.ClientRequest) => void = null requestDataFunc: (req: plugins.http.ClientRequest) => void = null
): Promise<IExtendedIncomingMessage> => { ): Promise<IExtendedIncomingMessage> => {
const done = plugins.smartpromise.defer<any>(); const done = plugins.smartpromise.defer<IExtendedIncomingMessage>();
// merge options // merge options
const defaultOptions: interfaces.ISmartRequestOptions = { const defaultOptions: interfaces.ISmartRequestOptions = {
@ -135,16 +135,16 @@ export let request = async (
// lets determine the request module to use // lets determine the request module to use
const requestModule = (() => { const requestModule = (() => {
switch (true) { switch (true) {
case parsedUrl.protocol === 'https' && optionsArg.keepAlive: case parsedUrl.protocol === 'https:' && optionsArg.keepAlive:
optionsArg.agent = httpsAgent; optionsArg.agent = httpsAgent;
return plugins.https; return plugins.https;
case parsedUrl.protocol === 'https' && !optionsArg.keepAlive: case parsedUrl.protocol === 'https:' && !optionsArg.keepAlive:
optionsArg.agent = httpsAgentKeepAliveFalse; optionsArg.agent = httpsAgentKeepAliveFalse;
return plugins.https; return plugins.https;
case parsedUrl.protocol === 'http' && optionsArg.keepAlive: case parsedUrl.protocol === 'http:' && optionsArg.keepAlive:
optionsArg.agent = httpAgent; optionsArg.agent = httpAgent;
return plugins.http; return plugins.http;
case parsedUrl.protocol === 'http' && !optionsArg.keepAlive: case parsedUrl.protocol === 'http:' && !optionsArg.keepAlive:
optionsArg.agent = httpAgentKeepAliveFalse; optionsArg.agent = httpAgentKeepAliveFalse;
return plugins.http; return plugins.http;
} }
@ -158,7 +158,7 @@ export let request = async (
// lets perform the actual request // lets perform the actual request
const requestToFire = requestModule.request(optionsArg, async (response) => { const requestToFire = requestModule.request(optionsArg, async (response) => {
if (responseStreamArg) { if (responseStreamArg) {
done.resolve(response); done.resolve(response as IExtendedIncomingMessage);
} else { } else {
const builtResponse = await buildUtf8Response(response, optionsArg.autoJsonParse); const builtResponse = await buildUtf8Response(response, optionsArg.autoJsonParse);
done.resolve(builtResponse); done.resolve(builtResponse);
@ -190,6 +190,10 @@ export let request = async (
requestToFire.destroy(); requestToFire.destroy();
}); });
const result = await done.promise; const response = await done.promise;
return result; response.on('error', (err) => {
console.log(err);
response.destroy();
})
return response;
}; };