UNPKG

got-send-url

Version:

got-send-url is a GOT based HTTP request library for Node.js

73 lines 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const got_1 = require("got"); const https_proxy_agent_1 = require("https-proxy-agent"); const sendURL = async ({ url, method, body, headers, retryLimit, retryDelay, responseType = "json", useProxyYn = false, useThrowYn = true, getAllResponseYn = false, }) => { try { const notUseTLS = url.startsWith("https") && useProxyYn && process.env.NODE_ENV === "dev"; const options = { responseType, method, }; if (retryLimit) { options.retry = { limit: retryLimit, methods: ["GET", "POST", "PUT", "HEAD", "DELETE", "OPTIONS", "TRACE"], }; retryDelay ? (options.retry.calculateDelay = ({ attemptCount }) => { if (attemptCount > retryLimit) { return 0; } return retryDelay; }) : null; } if (headers) { options.headers = headers; } if (useProxyYn) { options.agent = { http: new https_proxy_agent_1.HttpsProxyAgent("http://127.0.0.1:8888"), https: new https_proxy_agent_1.HttpsProxyAgent("http://127.0.0.1:8888"), }; } if (notUseTLS) { process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; } let response; if (headers && headers["Content-Type"]?.includes("urlencoded")) { options.responseType = "text"; if (method === "GET") { options.searchParams = body; response = await (0, got_1.default)(url, options); } else { options.body = body; response = await (0, got_1.default)(url, options); } } else { if (method === "GET") { options.searchParams = body; response = await (0, got_1.default)(url, options); } else { options.json = body; response = await (0, got_1.default)(url, options); } } if (notUseTLS) { process.env.NODE_TLS_REJECT_UNAUTHORIZED = "1"; } return getAllResponseYn ? response : response.body; } catch (error) { if (useThrowYn) { throw error; } return error; } }; exports.default = sendURL; //# sourceMappingURL=index.js.map