diff --git a/dist/package-shared/functions/backend/httpRequest.js b/dist/package-shared/functions/backend/httpRequest.js index 9ff5fd6..7c936bd 100644 --- a/dist/package-shared/functions/backend/httpRequest.js +++ b/dist/package-shared/functions/backend/httpRequest.js @@ -31,12 +31,18 @@ function httpRequest(params) { delete params.scheme; delete params.query; delete params.urlEncodedFormBody; + let finalHeaders = { + "Content-Type": isUrlEncodedFormBody + ? "application/x-www-form-urlencoded" + : "application/json", + }; + if (reqPayloadString) { + finalHeaders["Content-Length"] = + Buffer.from(reqPayloadString).length; + } + finalHeaders = Object.assign(Object.assign({}, finalHeaders), params.headers); /** @type {import("node:https").RequestOptions} */ - const requestOptions = Object.assign(Object.assign({}, params), { headers: Object.assign({ "Content-Type": isUrlEncodedFormBody - ? "application/x-www-form-urlencoded" - : "application/json", "Content-Length": reqPayloadString - ? Buffer.from(reqPayloadString).length - : undefined }, params.headers), port: paramScheme == "https" ? 443 : params.port, path: finalPath }); + const requestOptions = Object.assign(Object.assign({}, params), { headers: finalHeaders, port: paramScheme == "https" ? 443 : params.port, path: finalPath }); const httpsRequest = finalScheme.request(requestOptions, /** * Callback Function diff --git a/package-shared/functions/backend/httpRequest.ts b/package-shared/functions/backend/httpRequest.ts index 800634d..eb5a5a0 100644 --- a/package-shared/functions/backend/httpRequest.ts +++ b/package-shared/functions/backend/httpRequest.ts @@ -37,18 +37,23 @@ export default function httpRequest< delete params.query; delete params.urlEncodedFormBody; + let finalHeaders: http.OutgoingHttpHeaders = { + "Content-Type": isUrlEncodedFormBody + ? "application/x-www-form-urlencoded" + : "application/json", + }; + + if (reqPayloadString) { + finalHeaders["Content-Length"] = + Buffer.from(reqPayloadString).length; + } + + finalHeaders = { ...finalHeaders, ...params.headers }; + /** @type {import("node:https").RequestOptions} */ const requestOptions: import("node:https").RequestOptions = { ...params, - headers: { - "Content-Type": isUrlEncodedFormBody - ? "application/x-www-form-urlencoded" - : "application/json", - "Content-Length": reqPayloadString - ? Buffer.from(reqPayloadString).length - : undefined, - ...params.headers, - }, + headers: finalHeaders, port: paramScheme == "https" ? 443 : params.port, path: finalPath, }; diff --git a/package.json b/package.json index 264100c..02c2d1c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/datasquirel", - "version": "3.8.2", + "version": "3.8.3", "description": "Cloud-based SQL data management tool", "main": "dist/index.js", "bin": {