[Poly > Request] Further cleanup tweaks

This commit is contained in:
Ducko 2022-01-29 10:09:55 +00:00
parent 197f785edf
commit 5949633d03
1 changed files with 2 additions and 9 deletions

View File

@ -2,15 +2,13 @@ const https = require('https');
const querystring = require("querystring"); const querystring = require("querystring");
// Generic polyfill for "request" npm package, wrapper for https // Generic polyfill for "request" npm package, wrapper for https
const nodeReq = ({ method, url, headers, qs, timeout, body, stream }) => new Promise((resolve, reject) => { const nodeReq = ({ method, url, headers, qs, timeout, body, stream }) => new Promise((resolve) => {
const fullUrl = `${url}${qs != null ? `?${querystring.stringify(qs)}` : ''}`; // With query string const fullUrl = `${url}${qs != null ? `?${querystring.stringify(qs)}` : ''}`; // With query string
let req; let req;
try { try {
req = https.request(fullUrl, { method, headers, timeout }, async (res) => { req = https.request(fullUrl, { method, headers, timeout }, async (res) => {
if (res.statusCode === 301 || res.statusCode === 302) { // Redirect, recall function if (res.statusCode === 301 || res.statusCode === 302) return resolve(await nodeReq({ url: res.headers.location, method, headers, timeout, body, stream }));
return resolve(await nodeReq({ url: res.headers.location, method, headers, timeout, body, stream }));
}
resolve(res); resolve(res);
}); });
@ -26,11 +24,6 @@ const nodeReq = ({ method, url, headers, qs, timeout, body, stream }) => new Pro
}); });
const request = (...args) => { const request = (...args) => {
// We have to use ...args because we have to support all of these possible args:
// request(url, callback)
// request(options, callback)
// request(url, options, callback)
let options, callback; let options, callback;
switch (args.length) { switch (args.length) {
case 3: // request(url, options, callback) case 3: // request(url, options, callback)